Передача пароля в зашифрованном виде в 1С-Битрикс
Когда вы делаете у себя на сайте авторизацию, то пароль, введенный в форму, передается на сервер в открытом виде. В случае перехвата траффика учетные данные могут быть похищены.
Для этих случаев в модуле Проактивная защита реализован функционал безопасной авторизации. Для того чтобы его активировать надо пойти в настройки Главного модуля и там включить опцию Передавать пароль в зашифрованном виде и сгенерировать ключ, нажав на соответствующую кнопку.
После этого авторизация реализованная стандартными битриксовыми компонентами и авторизация в админку будут передавать пароль в шифрованном виде и в случае перехвата траффика его невозможно будет узнать.
В этом всём благополучино, но есть пара нюансов, которые хотелось бы рассмотреть.
1. Функционал безопасной авторизации работает только по http протоколу. Т.е. если у вас https, а ваши параноидальные потребности требуют шифрования пароля - то тут облом.
2. Если у вас не стандартный компонент авторизации, а просто своя какая-то кастомная форма, то конечно же так просто у вас это всё дело не подключится.
Для того чтобы решить обе проблемы в код формы (например в файле result_modifier.php) надо добавить следующее:
$sec = new CRsaSecurity(); if ($arKeys = $sec->LoadKeys()) { $sec->SetKeys($arKeys); $sec->AddToForm('имя_формы', array('имя_поля_с_паролем')); }И тогда значение из соответствующего поля будет передаваться зашифрованным независимо от того по какому протоколу вы работаете.
P.S. обратите внимание что для полноценной работы необходимо чтобы в вашем шаблоне были подключены битриксовые системные скрипты. Для этого достаточно вызывать их либо так:
$APPLICATION->ShowHead();либо сяк:
$APPLICATION->ShowHeadStrings(); $APPLICATION->ShowHeadScripts();
Не пренебрегайте безопасностью проекта и пользователей.
{{ 'Comments (%count%)' | trans {count:count} }}
{{ 'Comments are closed.' | trans }}