Варианты решения ситуации с законом ФЗ-152

Правила раздела: faq.php?mode=okay

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 75
Сообщения: 828
Зарегистрирован: 12.11.2015
С нами: 3 года 1 месяц
Сайт Skype

Сообщение #1 OkayCMS » 21.01.2018, 15:29

Так как близится выход новой версии, был поднят вопрос, как именно поступить с требованиями закона ФЗ-152 которые требует чтобы пользователи подтверждали своё согласие оставить персональные данные. Ситуация осложняется тем, что по закону подтверждение должно быть везде где пользователь оставляет свои персональные данные.
В OkayCMS в дефолтном шаблоне это:
- Оформление заказ
- Форма обратной связи на странице контактов
- Всплывающая форма "Перезвоните мне"
- Форма подписки на рассылку в футере
- Форма регистрации нового пользователя на сайте
- Форма оставления комментария к товару/статье.

Обвешивать все эти формы галочками не очень хочется, так как будет некрасиво и не везде в дизайн даже впишется.
Сейчас есть три основных варианта:
1. Требовать поставить галочку возле каждой такой формы
2. Сделать половинчастое решение и требовать галочку только при оформлении заказа.
3. Сделать бесплатную инструкцию как добавлять эти галочки в код самому и не добавлять этот функционал в CMS по умолчанию.

Какой вариант больше нравится пользователям OkayCMS?

makki
makki
Репутация: 126
Сообщения: 342
Зарегистрирован: 12.08.2016
С нами: 2 года 4 месяца
Откуда: Киев
Сайт Skype

Сообщение #2 makki » 21.01.2018, 16:30

3-й вариант

korshunov
korshunov
Репутация: 79
Сообщения: 821
Зарегистрирован: 03.12.2015
С нами: 3 года
Skype

Сообщение #3 korshunov » 22.01.2018, 06:54

OkayCMS писал(а):Обвешивать все эти формы галочками не очень хочется...

Совсем непонятен такой подход. Вот в настройках для пункта Отображение капчи навешали настройки на каждую форму по отдельности. И ни с кем не советовались. А чем согласие на обработку персональных данных хуже?

По вариантам
2. Совсем негодяще и несерьезно.
1. Куда ни шло.
3. Надо сделать не в виде варианта, а ДОПОЛНИТЕЛЬНО к функционалу.

А лучше всего
4. Создать в настройках галочки отдельно для каждой формы аналогично тому, как сделано для Отображение капчи.

Vitaly
Аватара
Vitaly
Репутация: 19
Сообщения: 109
Зарегистрирован: 15.08.2016
С нами: 2 года 3 месяца

Сообщение #4 Vitaly » 22.01.2018, 07:40

Я за 3-й вариант.

dimon
dimon
Репутация: 1
Сообщения: 35
Зарегистрирован: 16.08.2017
С нами: 1 год 3 месяца

Сообщение #5 dimon » 22.01.2018, 09:28

Создать в настройках галочки отдельно для каждой формы аналогично тому, как сделано для Отображение капчи.

dimitriy
Аватара
dimitriy
Репутация: 2
Сообщения: 49
Зарегистрирован: 26.06.2016
С нами: 2 года 5 месяцев

Сообщение #6 dimitriy » 23.01.2018, 13:55

хорошо был бы и третий вариант, и то что предлагает korshunov,
а по хорошему галочки уже должны стоять, просто человек может ее убрать..и не делать заказ. потому что если напихать лишних галочек, которые надо будет поставить, это только все очень сильно усложнит. так что выбор должен быть в любом случае..

Vanger M
Vanger M
Репутация: 1
Сообщения: 9
Зарегистрирован: 08.06.2016
С нами: 2 года 6 месяцев

Сообщение #7 Vanger » 24.01.2018, 00:57

За 3-й или 4-й варик

Alexey
Alexey

Сообщение #8 Alexey » 24.01.2018, 10:56

Хорошо бы если в админке галочки активировались через настройки. Захотел включил, захотел отключил.

Vadik
Vadik
Репутация: 1
Сообщения: 33
Зарегистрирован: 15.12.2016
С нами: 1 год 11 месяцев

Сообщение #9 Vadik » 28.01.2018, 10:57

Если данный закон требует согласия при каждом вводе, то только в заказе не логично надо везде.
У себя я делал под каждым вводом, единственное, что не удобно, при обновлении, постоянно забываю поставить в той или иной форме

Добавлено спустя 1 минуту 1 секунду:
Обычная инструкции (напоминание), будет к месту

dimitriy
Аватара
dimitriy
Репутация: 2
Сообщения: 49
Зарегистрирован: 26.06.2016
С нами: 2 года 5 месяцев

Сообщение #10 dimitriy » 22.02.2018, 08:19

ждем обещанную инструкцию:-)

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 75
Сообщения: 828
Зарегистрирован: 12.11.2015
С нами: 3 года 1 месяц
Сайт Skype

Сообщение #11 OkayCMS » 22.02.2018, 14:14


korshunov
korshunov
Репутация: 79
Сообщения: 821
Зарегистрирован: 03.12.2015
С нами: 3 года
Skype

Сообщение #12 korshunov » 23.02.2018, 06:36

Инструкция вызывает массу недоуменных вопросов.

С точки зрения внешней:
Галочку поставить можно, а снять ее - уже нельзя. Очень странно. Есть повод для претензий в спорных случаях...

С точки зрения внутренней организации и программистской работы:
1. Заводятся в базе поля license_agree, которые НИГДЕ не используются, кроме того момента, когда в них записывается всегда одно и то же значение 1. То есть проводится абсолютно бесполезная и ненужная работа. Это классический пример того, как не надо работать с базой...
2. А добавление нового поля в таблицу ok_products - вообще полная бессмыслица...
3. В конце статьи стоит "...перед тем, как пользователь совершит покупку, он обязательно примет соглашение, и доказательством этого будет служить значение полей license_agree в БД которое будет равным 1". По существу фраза абсолютно неверная. К тому же наивно до крайности, особенно на фоне того, что автор в той же статье пишет, как работать с PhpMyadmin.

makki
makki
Репутация: 126
Сообщения: 342
Зарегистрирован: 12.08.2016
С нами: 2 года 4 месяца
Откуда: Киев
Сайт Skype

Сообщение #13 makki » 24.06.2018, 06:45

А что обязательно нужно чтобы было доказательство соглашения, путем добавления 1 в добавленное поле license_agree?

Может я что-то не понимаю. Но как по мне эта задача в целом решается намного проще, путем валидации чекбокса в форме, без всякого добавления новых полей в базу данных и даже php.

korshunov
korshunov
Репутация: 79
Сообщения: 821
Зарегистрирован: 03.12.2015
С нами: 3 года
Skype

Сообщение #14 korshunov » 24.06.2018, 11:08

Еще замечание по инструкции.

4. При обработке оптравленной формы регистрации проверка на согласие обработки персональных данных $user->license_agree!=1 делается ПОСЛЕ того, как предпринята попытка создания покупателя $user_id = $this->users->add_user($user). При этом формально все работает верно, но это лишь за cчет того, что в новое поле в таблице объявлено как NOT NULL. Если новое поле создать без NOT NULL, то и работать будет с ошибкой. То есть сделано все шиворот-навыворот, и работает это в чистом виде "на соплях".
Надо бы авторам поправить..

Добавлено спустя 5 минут 45 секунд:
makki писал(а):Но как по мне эта задача в целом решается намного проще, путем валидации чекбокса в форме, без всякого добавления новых полей в базу данных и даже php.

То, что новое поле в этой ситуации представляет собой только лишнюю деталь, отмечалось в теме ранее.
А вот насчет того, что можно сделать "без php", это Вы загнули. Для надежности и безопасности надо же данные проверять на стороне сервера... Впрочем, можете попробовать. Если напишете своим вариант "без php", оценим...

makki
makki
Репутация: 126
Сообщения: 342
Зарегистрирован: 12.08.2016
С нами: 2 года 4 месяца
Откуда: Киев
Сайт Skype

Сообщение #15 makki » 24.06.2018, 14:28

korshunov писал(а):А вот насчет того, что можно сделать "без php", это Вы загнули. Для надежности и безопасности надо же данные проверять на стороне сервера...
Согласен было бы неплохо и на стороне сервера делать проверку, но для этого точно не надо новых записей в базу данных.
korshunov писал(а):Впрочем, можете попробовать. Если напишете своим вариант "без php", оценим...
Пожалуйста... ничего сложного.

1) Для начала в админке добавьте новую страницу с URL: policy и содержанием Политики конфиденциальности.
2) Перед кнопкой отправки желаемой формы добавьте

Код: Выделить всё

<input name="policy" type="checkbox" checked> Согласен с <a href="policy" target="_blank">политикой обработки персональных данных</a>

3) В файле scripts.tpl добавьте в новое правило валидации для желаемой формы. Например, если это форма заказа, надо вместо

Код: Выделить всё

    if($(".fn_validate_cart").size()>0) {
        $(".fn_validate_cart").validate({
            rules: {
                name: "required",
                email: {
                    required: true,
                    email: true
                },
                captcha_code: "required"
            },
            messages: {
                name: form_enter_name,
                email: form_enter_email,
                captcha_code: form_error_captcha
            }
        });
    }

написать

Код: Выделить всё

    if($(".fn_validate_cart").size()>0) {
        $(".fn_validate_cart").validate({
            rules: {
                name: "required",
                policy: "required",
                email: {
                    required: true,
                    email: true
                },
                captcha_code: "required"
            },
            messages: {
                name: form_enter_name,
                policy: "Для отправки формы требуется ваше согласие",
                email: form_enter_email,
                captcha_code: form_error_captcha
            }
        });
    }


Вот и все дела.

korshunov
korshunov
Репутация: 79
Сообщения: 821
Зарегистрирован: 03.12.2015
С нами: 3 года
Skype

Сообщение #16 korshunov » 24.06.2018, 15:18

Но это ж на стороне клиента. Что несколько ненадежно...

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 75
Сообщения: 828
Зарегистрирован: 12.11.2015
С нами: 3 года 1 месяц
Сайт Skype

Сообщение #17 OkayCMS » 25.06.2018, 14:46

Вам по закону нужно у себя хранить подтверждение того что пользователь согласился. А проверка в JS не позволяет хранить это.

makki
makki
Репутация: 126
Сообщения: 342
Зарегистрирован: 12.08.2016
С нами: 2 года 4 месяца
Откуда: Киев
Сайт Skype

Сообщение #18 makki » 25.06.2018, 15:04

OkayCMS писал(а):Вам по закону нужно у себя хранить подтверждение того что пользователь согласился. А проверка в JS не позволяет хранить это.
Спасибо, я не знал этого. Вот что нарыл в интернете. Похоже согласно закону, требования еще более сложные.

К форме такого согласия на обработку персональных данных есть ряд установленных требований:
    - максимально полное описание того, на что человек дает согласие, и как в дальнейшем будут использованы его данные;
    - большая часть формы и текста должны быть видимыми;
    - форму нельзя пропустить, и перейти дальше, не дав согласие;
    - в базе данных нужно хранить информацию о каждом согласии, с текстом и датой каждого согласия;
    - после подтверждения в форме, нужно уведомить субъекта о том, как он в будущем сможет отозвать свое согласие;

Придерживаться этого правила – значит не только получить согласие, но и не нарушать его условий.


Название раздела: Предложения по улучшению OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Предложения по улучшению OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость