Написание модуля авторизации на PHP
8 000 руб. за проект
•
безналичный расчёт, электронные деньги
Требуется разработка работающего каркаса/скелета модуля авторизации для сайта на PHP.
Использование модуля предполагается примерно такое:
--
require("auth.php");
$auth = Auth();
if ($auth->state) then
{
echo "<div>Пользователь: " . $auth->login . "</div>\n";
echo "<div>Информация: " . $auth->дополнительная_информация . "</div>\n";
}
else
{
if ($cmd == "login") then {
if ($auth->check() then {
$auth->auth();
} else {
echo $html_auth_error;
}
} else {
echo $html_auth_form;
}
}
--
Впрочем это не требование, возможны и другие варианты использования.
Форма должна решать две задачи - идентификация текущего посетителя (авторизован или нет) и авторизация пользователя.
Авторизация должна быть безопасной и качественной. Сам я от веб-разработки далек, поэтому точно все перечислить не смогу, но полагаю, что передача данных формы должна быть по HTTPS, что передаваться должен не пароль, а его хеш с солью, что если не поддерживаются cookies, то должна быть опциональная поддержка передачи аутентификационного ключа в параметрах. У формы должна быть некоторая устойчивость к подмене аутентификационного ключа, т.е. ключ должен одновременно быть и подписью к текущему соединению; он должен быть невалиден для другого IP, другого браузера и т.п.
Авторизация осуществляется по логину и паролю. Однако у логина может быть привязка к IP-адресу (не жесткая).
То есть для неавторизованных пользователей форма должна предлагать логин для авторизации, но с возможностью его смены.
В один момент времени может быть активна только одна сессия. Если при авторизации была обнаружена другая действующая авторизация для данного логина, более старая авторизация должна быть завершена, в сессии по старой авторизации должна быть указана причина (то есть в браузере должно вывестись что-то типа "Сессия завершена, выполнен вход под логином user, IP 1.2.3.4, устройство Windows 7").
Есть определенные требования к стилю написания программного кода. Скажем, если я надумаю встроить в модуль отправку контрольного кода по SMS, то это не должно потребовать глубокого рефакторинга. Сильно нежелателен хардкодинг и всякие трики, основанные на глубоком знании потрохов PHP.
Оплата после выполнения работ и демонстрации фрагмента кода. Чтобы не было разногласий по стилю программного кода, желательно перед началом работ показать произвольные образцы своего кода.
P.S. Просьба в откликах указывать предполагаемую стоимость.
Использование модуля предполагается примерно такое:
--
require("auth.php");
$auth = Auth();
if ($auth->state) then
{
echo "<div>Пользователь: " . $auth->login . "</div>\n";
echo "<div>Информация: " . $auth->дополнительная_информация . "</div>\n";
}
else
{
if ($cmd == "login") then {
if ($auth->check() then {
$auth->auth();
} else {
echo $html_auth_error;
}
} else {
echo $html_auth_form;
}
}
--
Впрочем это не требование, возможны и другие варианты использования.
Форма должна решать две задачи - идентификация текущего посетителя (авторизован или нет) и авторизация пользователя.
Авторизация должна быть безопасной и качественной. Сам я от веб-разработки далек, поэтому точно все перечислить не смогу, но полагаю, что передача данных формы должна быть по HTTPS, что передаваться должен не пароль, а его хеш с солью, что если не поддерживаются cookies, то должна быть опциональная поддержка передачи аутентификационного ключа в параметрах. У формы должна быть некоторая устойчивость к подмене аутентификационного ключа, т.е. ключ должен одновременно быть и подписью к текущему соединению; он должен быть невалиден для другого IP, другого браузера и т.п.
Авторизация осуществляется по логину и паролю. Однако у логина может быть привязка к IP-адресу (не жесткая).
То есть для неавторизованных пользователей форма должна предлагать логин для авторизации, но с возможностью его смены.
В один момент времени может быть активна только одна сессия. Если при авторизации была обнаружена другая действующая авторизация для данного логина, более старая авторизация должна быть завершена, в сессии по старой авторизации должна быть указана причина (то есть в браузере должно вывестись что-то типа "Сессия завершена, выполнен вход под логином user, IP 1.2.3.4, устройство Windows 7").
Есть определенные требования к стилю написания программного кода. Скажем, если я надумаю встроить в модуль отправку контрольного кода по SMS, то это не должно потребовать глубокого рефакторинга. Сильно нежелателен хардкодинг и всякие трики, основанные на глубоком знании потрохов PHP.
Оплата после выполнения работ и демонстрации фрагмента кода. Чтобы не было разногласий по стилю программного кода, желательно перед началом работ показать произвольные образцы своего кода.
P.S. Просьба в откликах указывать предполагаемую стоимость.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.