parser

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

 

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

Ответ

AL 01.02.2006 12:23

Сделал как Вы посоветовали, получился вот такой код. Но все-равно не работает. В конце кода вывожу эти переменные, чтобы посмотреть в чем проблема.
@auth[]
^auth_form[]
^if(def $form:go){
	$login[^form:login.lower[]]
	$pswd[^form:pswd.lower[]]
	
	$crpswd[^table::sql{SELECT c_id, pswd FROM auth WHERE login='$login'}]
	
	$crypted[^math:crypt[$crpswd.pswd;^$apr1^$]]
	
	^if(^math:crypt[$pswd;$crypted] eq $crypted){ 
		$cookie:ind[
		$.value[$out.c_id]
		$.expires(60)
		]

		$cookie:ind2[
		$.value[$out.pswd]
		$.expires(60)
		]
		$cookie:logon[
		$.value[1]
		$.expires(60)
		]
	}{
#		$response:location[http://$env:SERVER_NAME/error.html]
		$crypted, ^math:crypt[$pswd;$crypted]
	}
}
$apr1$U88Y9TD4$LVHGo4hg99kYGYoZGSBp90, $apr1$U88Y9TD4$4bonGpk4Pd2sBNDLjjfha0

Как видно, часть хеша идентична, но хвосты разные.

В БД пароль попадает так:
'^math:crypt[$pswd;^$apr1^$]'