Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
так лучше? можёт ещё что добавить? 27.03.04 08:42 Число просмотров: 2473
Автор: !? <!?> Статус: Member
|
#переменная $auth передаётся в строке видом login:hash
@pairs = split(/:/, $auth);
#... опеределяется $pass
@g3tz= ($ENV{"REMOTE_ADDR"}, $ENV{"HTTP_USER_AGENT"}, $ENV{"HTTP_ACCEPT_LANGUAGE"}, $ENV{"HTTP_ACCEPT"});
foreach $g3tz (@g3tz)
{
foreach $p1 (split("", $g3tz))
{
$auth0z+= ord($p1);
}
}
print "¤", $auth0z, "¤", substr(crypt($auth0z, $pass), 2, 8), "¤", $pass, "¤";
if (@pairs[1] eq substr(crypt($auth0z, $pass), 2, 8))
{
}
#есть ещё предложения? (или жалко? :) )
|
<programming>
|
[Perl] авторизация без куки 21.03.04 18:26
Автор: !? <!?> Статус: Member
|
subj...
искал в нете, но тк ничего путного не нашёл, обращаюсь к господам шарящим кодЁрам ;) (это, типа, не лесть)
мне нужно, чтобы авторизация передавалась в строке и не была валидна у другого человека, если даже он и узнает ключ.
на данный момент я сделал очбанально:
crypt($pass, crypt($login, $ENV{'REMOTE_ADDR'}))
но хочу лучше)
буду премногоблагодарен за советы, не ведущие на ya.ru...
|
|
"пуленепробиваемая" аутентификация 17.04.04 08:15
Автор: !? <!?> Статус: Member
|
вот придумал ещё одну меру защиты: при авторизации привязывать к аккаунту его ip, и использовать его при аутентификации.
про Log OFF'е, ясен пень, потирать :0).
может ещё к чему привязать, для надёжности? :0)
|
| |
а если IP-шник принадлежит NAT-хосту, а за ним пол-сотни человеков которые к тебе лезут? ;0)) 20.04.04 17:28
Автор: RazDolBai Статус: Member
|
|
| | |
дык... привязка к броузеру+ http_x_forwarded_for :0) 21.04.04 03:16
Автор: !? <!?> Статус: Member
|
|
| | | |
а мы не то же самое тут ровно месяц назад обсуждали? :) 21.04.04 03:53
Автор: dl <Dmitry Leonov> Отредактировано 21.04.04 03:54 Количество правок: 1
|
Хэш с REMOTE_ADDRESS - достаточно надежная привязка к IP клиента.
|
| | | | |
почти :). 21.04.04 04:15
Автор: !? <!?> Статус: Member
|
но при варианте, который получился тогда, можно было просто поискать на этом компе в хистори хэш и воспользоваться им.
а вот если учесть логон/логофф, тогда и хэш ничего не даст.
сейчас я включил поддержку логона/логоффа и в инфе состояния храню ip. а вопрос заключался в том, что тамлучшехранить. :)
или этого достаточно и на тему можно забить? :)
|
| | | | | |
Хранить состояния сессии (логон/логофф с возможным... 21.04.04 04:32
Автор: dl <Dmitry Leonov>
|
> но при варианте, который получился тогда, можно было просто > поискать на этом компе в хистори хэш и воспользоваться им. > а вот если учесть логон/логофф, тогда и хэш ничего не даст. > сейчас я включил поддержку логона/логоффа и в инфе > состояния храню ip. а вопрос заключался в том, что там >лучшехранить. :)
> или этого достаточно и на тему можно забить? :)
Хранить состояния сессии (логон/логофф с возможным принудильным логофом по таймауту) - штука практически обязательная :)
А вот хранить ip где-то еще помимо участия в формировании сессии несколько избыточно. Хуже от этого конечно не будет, но дополнительной защиты это практически не добавит - все равно при утаскивании на другую машину этот хэш ничем не поможет.
|
| | | | | | |
ок. сЭнкс. буду хранить не ip а время последнего хита. 21.04.04 04:54
Автор: !? <!?> Статус: Member
|
|
|
чудес не бывает 21.03.04 21:06
Автор: dl <Dmitry Leonov>
|
Сессию можно строить только из того, что передает клиент. REMOTE_ADDR, HTTP_USER_AGENT, HTTP_ACCEPT_LANGUAGE, HTTP_ACCEPT, вот, пожалуй, и все, что можно использовать, если забыть о куках. Ну а уж каким способом это скрещивать с логином/паролем, это дело вкуса.
|
| |
так лучше? можёт ещё что добавить? 27.03.04 08:42
Автор: !? <!?> Статус: Member
|
#переменная $auth передаётся в строке видом login:hash
@pairs = split(/:/, $auth);
#... опеределяется $pass
@g3tz= ($ENV{"REMOTE_ADDR"}, $ENV{"HTTP_USER_AGENT"}, $ENV{"HTTP_ACCEPT_LANGUAGE"}, $ENV{"HTTP_ACCEPT"});
foreach $g3tz (@g3tz)
{
foreach $p1 (split("", $g3tz))
{
$auth0z+= ord($p1);
}
}
print "¤", $auth0z, "¤", substr(crypt($auth0z, $pass), 2, 8), "¤", $pass, "¤";
if (@pairs[1] eq substr(crypt($auth0z, $pass), 2, 8))
{
}
#есть ещё предложения? (или жалко? :) )
|
| | |
нормально 27.03.04 16:13
Автор: dl <Dmitry Leonov>
|
В принципе, можно еще добавить HTTP_X_FORWARDED_FOR, чтоб хоть немного снизить вероятность подсовывания идентификатора сессии с соседней машины в каком-нибудь дисплейном классе, где большинство настроек совпадает.
|
| | | |
добавил. грейт сЭнкс. 28.03.04 14:22
Автор: !? <!?> Статус: Member
|
|
|
|