Не знаю какие тут могут быть уязвимости, учитывая что нет работы ни с базой данных, ни с файлами...
для пароля обычно используют <input type='password'>
А насчёт кода - имхо, даже много лишнего.
if ($_POST['sub']) - думаю, лишнее, поскольку и так идёт проверка на поля admin и password. Т.е. мне кажется стоит оставить или sub, или act, но не их обоих.
PHP |
$admin = mysql_escape_string(trim(strip_tags($_POST['admin']))); $password = mysql_escape_string(trim(strip_tags($_POST['password']))); |
Эти 2 строки тоже, думаю, лишние, потому что функция mysql_escape_string используется для защиты от sql инъекций (а в Вашем случае работы с базой данных нет), а strip_tags для защиты от вставки скриптов на страницу (чего у Вас также нет).
Поэтому, имхо, достаточно просто проверок:
PHP |
if ($admin !== "" AND $password !== "") |
и
PHP |
if ($admin == "genius.andrey" AND $password == "parol") |
Пароль заносить в сессию также не нужно (ибо на сайте он нигде не понадобится). Достаточно просто факта, что пользователь зашёл.
Может кто из Экспертов меня поправит