|
|
|
| Решил подсократить авторизацию и написать так:
$t_res = mysql_query("SELECT id FROM users WHERE login='$t_login' AND password='$t_pass'");
if (mysql_num_rows($t_res) > 0)
{
$_SESSION['login'] = $_COOKIE['login'];
}
|
Переменные в запросе. ессно, заранее проверены и обработаны, в куке и базе пароль в md5; на других страницах проверяю только isset($_SESSION['lgin']). Тут есть какие-нибудь подводные камни? А то что-то вдруг засомневался... | |
|
|
|
|
|
|
|
для: Киналь
(13.08.2006 в 23:26)
| | Может лучше сделать так:
<?
$t_res = mysql_query("SELECT id, login FROM users WHERE login='$t_login' AND password='$t_pass'");
if (mysql_num_rows($t_res) > 0)
{
list($login) = mysql_fetch_array($t_res);
$_SESSION['login'] = $login;
}
?>
|
Логин береться непосредствено из БД, т.к. в COOKIE его можно подменить, и сессия будет неправильной ... | |
|
|
|
|
|
|
|
для: Boss
(13.08.2006 в 23:53)
| | А смысл его подменять? Проверка ведь идет по сочетанию логина и пароля. | |
|
|
|
|
|
|
|
для: Киналь
(14.08.2006 в 00:03)
| | А смысл устанавливать кукис на логин если он не нужен, и его подмена не к чему не привелёт7 ) | |
|
|
|
|
|
|
|
для: MAN|AK
(14.08.2006 в 00:18)
| | Бессмысленно подменять логин, потому что проверка идет по _сочетанию_ логина и пароля. | |
|
|
|
|
|
|
|
для: Киналь
(13.08.2006 в 23:26)
| | А что произойдет если в куках логина нет?
И еще, лучше проверять так:
if (mysql_num_rows($t_res) == 1)
|
| |
|
|
|
|
|
|
|
для: Loki
(14.08.2006 в 12:49)
| | >А что произойдет если в куках логина нет?
Есть. Приведенный кусок выполняется только если isset($_COOKIE['login'])
В общем. понятно - брать логин из БД, проверять не >0, а ==1; остальное вроде терпимо=)
Спасибо всем! | |
|
|
|