хеш можно передавать простым GET'ом, т.е. параметром в адресной строке. к примеру, он будет храниться в переменной auth вместе с логином вида [auth=login:hash].
модуль аутентификации будет подключаться при работе пользователя и записывать в переменную $AL значение 1 (авторизован) или 0 (неавторизован). в зависимости от этого будут работать остальные скрипты.
(поделючать скрипты можно используя функцию require())
0.2.1. пишем модуль аутентификации.
#!/usr/bin/perl
@pairs = split(/:/, $auth);
if (open $a, join("", $ENV{"DOCUMENT_ROOT"}, "/cgi-bin/pws/", @pairs[0], ".auth"))
{
$pass= ;
close $a;
@g3tz= ($ENV{"REMOTE_ADDR"}, $ENV{"HTTP_USER_AGENT"}, $ENV{"HTTP_ACCEPT_LANGUAGE"});
foreach $g3tz (@g3tz)
{
foreach $p1 (split("", $g3tz))
{
$auth0z+= ord($p1);
}
}
if (crypt(@pairs[1], @pairs[1]) eq crypt($auth0z, $pass))
{
$AL= 1;
} else
{
$AL= 0;
}
} else
{
$AL= 0;
}
return true;
• Заключение
это простейший пример реализацииаутентификации (ции, млин

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