• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

@sethttpheader("set-cookie"...

  • Автор темы Azrael
  • Дата начала
A

Azrael

Делаю web-сайт, застрял на этапе логина пользователя. Есть форма Login, с полями id, pwd. Есть поле $$Return, перекидывающее пользователя на другие страницы или же на тот же Login с параметром Err=1 urlquerystring. Есть агент, запускаемый на WebQuerySave:

Код:
stLogin:=@GetField("id");
stPwd:=@GetField("pwd");
list:=@DbLookup("":"";"":"";"(client-logins)";stLogin;3;[FailSilent]);
@If(@Elements(list)>0;@If(@GetDocField(list[1];"pwd")=stPwd;
@Do(
@SetHTTPHeader("Set-Cookie";"login="+stLogin);
@SetHTTPHeader("Set-Cookie";"pwd="+stPwd);
FIELD scookL := "login="+stLogin;
FIELD scookP := "pwd="+stPwd
)
;"");"");


Все работает, кроме установки Set-Cookie. То есть, сделал пока, чтобы документ сохранялся, поля scookL, scookP содержат все как нужно. кукизы не устанавливаются :)

Что не так?

Вообще весело, взял код с
Код:
rem "setting a session cookie";
cName:="name";
cValue:="Lotus Notes Domino";
@If(@BrowserInfo("Cookies");""; @Return("Error: cookies not enabled."));
result:=cName+"="+@ReplaceSubstring(cValue; " "; "%20")+"; path=/;";
@SetHTTPHeader("Set-Cookie"; result);

все равно кукизы не устанавливаются....

P.S. В броузере кукизы включены (точно!)
 
A

Azrael

сделал через javascript, но почему не работает так и не понял. Попытка установить кукизы в одном @SetHTTPHeader также ничего не дала
 
K

K-Fire

Если я не ошибаюсь, expire надо у кук устанавливать. Иначе кука не создается, либо создается но тут же удаляется.
 
A

Azrael

K-Fire
Сделал:
Код:
var form = document._Login; 
document.cookie = 'login=' + form.id.value;
document.cookie = 'pwd='+form.pwd.value;

работает... :wacko:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!