parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Предложение по классу авторизации

Безымянный 13.09.2004 15:27

Прикрутил класс авторизации и по ходу тестирования внес в него маленькие изменения. Причиной послужило наличие в моем браузере "Mozilla" такой фичи, как "Автозаполнение повторяющихся полей форм" или типа того... Вобщем для создаваемой мной системы хочется такую фичу отрубить, ибо ИМХО она понижает секьюрность - юзеры все равно будут ее использовать, и зашедший с их компа также "автозаполниит" эти поля...

Я перекрыл два метода: @init и @xmlFormLogon (если используете @htmlFormLogon, то нужно будет перекрыть и его). Изменений вносится минимум: при формировании полей формы дополнительно формируем 64 битный уникальный идентификатор и добавляем одно поле типа hidden со значением идентификатора. Также добавляем этот идентификатор к названиям полей auth.name и auth.passwd. При разборе полей формы - берем значение поля с идентификатором и запрашиваем значения полей имени и пароля уже по измененным названиям.

Формирование формы:
@xmlFormLogon[in_params][lparams]
........
$lparams.addon
 <fields>
  $uid64[^math:uid64[]]
  <field type="hidden" name="uid" value="$uid64" />
  <field type="hidden" name="auth.logon" value="do" /> 
  <field type="text" name="auth.name$uid64" value="^if(def $logon_data.[auth.logon]){$logon_data.[auth.name]}{$last_name}" description="Логин" />
  <field type="password" name="auth.passwd$uid64" description="Пароль" />
..............
Ее разбор:
@init[icookie_data;ilogon_data;iparams][lparams;logon_status]
..................
$logon_status(^logon[
	$.[auth.logon][$logon_data.[auth.logon]]
	$.[auth.name][$logon_data.[auth.name$logon_data.[uid]]]
	$.[auth.passwd][$logon_data.[auth.passwd$logon_data.[uid]]]
])
..................
У меня вроде работает...

  • Предложение по классу авторизации, 13.09.2004 15:27