|
| |
|
|
| |
для: Diablo_
(28.06.2006 в 20:41)
| | |
Если Вы просите строки пользователей, то проверять надо число строк в запросе.
Если Вы просите число таких строк, то проверять надо сам результат.
<?
$my->sql_query="select count(login) from autt where login='$login' and pass = '$hash'";
$my->sql_execute();
if (@mysql_result($my->sql_res,0) != 1)
$login2='Вы не зарегестрированы!'
else
$login2=htmlspecialchars($_POST['login']);
?>
|
| |
| |
|
|
| |
|
|
| |
для: valenok
(28.06.2006 в 12:38)
| | | Извините, что вновь поднимаю эту тему, но код не срабатывает! Постоянно пишит, что не зарегин.!
<?
$login=$_POST['login']; $pass=$_POST['pass'];
if(get_magic_quotes_gpc())
$pass = stripslashes($pass);
else $login = addslashes($login);
$hash = md5($pass);
require_once("sql.class.php");
$my = new class_sql;
$my->sql_connect();
$my->sql_query="select * from autt where login='$login' and pass = '$hash'";
$my->sql_execute();
if (@mysql_result($my->sql_res,0)!=1)
$login2='Вы не зарегестрированы!';
else
$login2=htmlspecialchars($_POST['login']);
echo "Добрый день, $login2";
?>
|
| |
| |
|
|
| |
|
|
| |
для: Trianon
(28.06.2006 в 12:36)
| | | Не. Я решил что сказал ерунду какуюто.
Забыл что во второй раз при сверке пароль в базу не уходит | |
| |
|
|
| |
|
|
| |
для: valenok
(28.06.2006 в 10:25)
| | | >Тоесть вы хотите сказать что когда пользователь проходит
>регистрацию, хостер нагло отключаеть magic_quotes
>но вот когда он авторизируется.. На зло включает..
Откуда такой вывод? | |
| |
|
|
| |
|
|
| |
для: Diablo_
(28.06.2006 в 11:29)
| | | если пароль хешируется то проверка бессмысленная. | |
| |
|
|
| |
|
|
| |
для: valenok
(28.06.2006 в 10:25)
| | | Мне все говорили, что проверку на введенияч пароля, нужно делать обязательно! | |
| |
|
|
| |
|
|
| |
для: Trianon
(28.06.2006 в 10:17)
| | | Тоесть вы хотите сказать что когда пользователь проходит регистрацию, хостер нагло отключаеть magic_quotes
но вот когда он авторизируется.. На зло включает.. | |
| |
|
|
| |
|
|
| |
для: Diablo_
(27.06.2006 в 23:30)
| | | >1. я не хранил пароль в открытом виде, просто так написал,
>для примера!
>2. Можите пояснить, что вот это такое?
>>if(get_magic_quotes_gpc())
> $pass = stripslashes($pass);
>else $login = addslashes($login);
Строка логина преобразуется в литеральную константу SQL, для сравнения с полем из таблицы в БД. Путем экранирования спецсимволов. Если она еще не преобразована механизмом магических кавычек.
Если этого не сделать, в скрипте окажется дыра SQL-инъекции, не говоря уже о том, что логины содержащие некотрые символы, не будут нормально обрабатываться.
Строка пароля, наоборот, должна быть чистой - по ней вычисляется хеш. И поэтому, если
механизм магических кавычек успел её "подправить", её нужно вернуть к исходному виду.
Иначе хеш не сойдется и пароль не будет опознан. | |
| |
|
|
| |
|
|
| |
для: Diablo_
(28.06.2006 в 01:02)
| | | >3. А куда подевалась проверка на введён или нет пароль и
>логин?
а зачем она нужна? | |
| |
|
|
| |
|
|
| |
для: Diablo_
(28.06.2006 в 08:54)
| | | Пардон. Наврал слегка. Сейчас исправлю.
<?
$login=$_POST['login']; $pass=$_POST['pass'];
if(get_magic_quotes_gpc())
$pass = stripslashes($pass);
else $login = addslashes($login);
$hash = md5($pass);
require_once("sql.class.php");
$my = new class_sql;
$my->sql_connect();
$my->sql_query="select count(login) from autt where login='$login' and pass = '$hash'";
$my->sql_execute();
if (@mysql_result($my->sql_res,0)!=1)
$login2='Вы не зарегестрированы!';
else
$login2=echo(htmlspecialchars($_POST['login']));
echo "Добрый день, $login2";
?>
|
| |
| |
|
|
|