chemax

chemax
Рейтинг
206
Регистрация
07.01.2009

каталоги не зло. но и не радость.

по сабжу. проверьте позиции. 30 человек в день не повод паниковать. сегодня вообще падение трафика на проектах. и при том не -30 человек)

B3nder:
chemax, что-то у тебя все запутано. Ты передаешь данные через сессию в Форму входа, т. е. пользователь уже проходил авторизацию, а это вход куда-нибудь еще? Вот простая авторизация.

Форма входа:


<?php
if(isset($_SESSION['user']))
{
echo $login='Здравствуйте, '.$_SESSION['user'].'!';
}
else
{
?>
<form action="'.$_SERVER['PHP_SELF'].'?do=login" method="post">
Имя посетителя:<br/>
<input type=text name="name" value=""><br/>
Пароль:<br/>
<input type=password name="password" value="'"><br/>
<input type=submit value="Отправить">
</form>
<?php
}
?>


Обработка:

<?php
$name = $_POST['name'];
$password = md5($_POST['password']);

$checkU = mysql_query("SELECT
*
FROM
users
WHERE
name = '$name' AND password = '$password'");
if (mysql_num_rows($checkU) != 1)
{
echo "Вы ввели неправильные данные";
}
else
{
$_SESSION['user'] = $name;
$_SESSION['password'] = $password;
header('Location:../index.php');
}
?>

да, в форме затупил я. спасибо. но мне кажется что мой вариант просто более обрабатывает ошибки)

chemax добавил 03.07.2009 в 16:05

denex:
chemax,
$sql = @mysql_query("SELECT * FROM `users` WHERE `password` = '$_POST[password]' AND name='$_POST[name]'");

искренне советую заменить на:
$sql = @mysql_query("SELECT * FROM `users` WHERE `users`.`password` =  '". mysql_real_escape_string($_POST['password']) ."' AND `users`.`name` = '". mysql_real_escape_string($_POST['name']) ."' ");

ну это то естественно все закроется(даже уже закрылось)

chemax добавил 03.07.2009 в 16:06

LEOnidUKG:
вранье, ни одной вы не читали. Читали бы, вообще бы топика не было.

поищите статьи на хабрахабре. там далеко не для моего ума все писанное. одна есть не плохая, но там через куки только.

вот что получилось. с позиции безопасности конечно фигово. но это все добавится. пока не использовал md5, тк пока только тестил. хотел бы узнать нормальна ли сама логика?

Форма входа и приветствия всякие


$login='
<form action="'.$_SERVER['PHP_SELF'].'?do=login" method="post">
Имя посетителя:<br/>
<input type=text name="name" value="'.$_SESSION['user'].'"><br/>
Пароль:<br/>
<input type=password name=password value="'.$_SESSION['password'].'"><br/>
<input type=submit value="Отправить">
<input type=hidden name=session_id value='.session_id().'>
</form>';

if(isset($_SESSION['user']))
{$login='Здравствуйте, '.$_SESSION['user'].'!';}

Обработка формы логина


if($_POST['session_id'] != session_id()){exit("Попытка взлома.");}

$sql = @mysql_query("SELECT * FROM `users` WHERE `password` = '$_POST[password]' AND name='$_POST[name]'");

if(!$sql) $content='Ошибка выполнения запроса';

if (mysql_num_rows ($sql) > 0){

if(session_start()){
$_SESSION['user'] = $_POST['name'];
$_SESSION['password'] = $_POST['pass'];}
else $content='Ошибка идентификации: неправильный пароль';}
else $content='Ошибка идентификации: посетитель не зарегистрирован';

chemax добавил 03.07.2009 в 13:10

LEOnidUKG:
Какие кукисы? Вы вообще какие статьи читали?
В кукисах только номер сессии храниться и всё.

а как же вконтакте? там в кукисах пароль и логин

вопрос еще.

у меня в индекс.пхп я подключаю файл логин.пхп/ каждый раз при обновление страницы делать запрос к бд и проверять данные?

yevgenyn, согласен. тоже часто на сеопульт ориентируюсь.

kxk:
chemax, Ломаеться всё :) Но от школьнегов спасает обычно:
1) Шифрация пароля в md5+соль
2) Защита форм от sql
3) Автобан фаиром или скриптом после 3-5 неверных попыток ввода пароля :)

да я не знаю как с кукисами быть. в них сохранять хэш пароля и логин?

IndexSa:
А кто нить деревенскую жарил, не шпринцованную, как у нас везде в суперкаркетах? Она зараза жесткая, но вкус на порядок....

только с этим хотел отписаться) у меня бабка как то деревенскую куру мягкой делает. вроде варит с начало) потом жарит)

6uoncuxo3:
Жарил, тока нифига она не жёсткая :) Курица курице рознь ;)

значит курица с вольера. в смысле не бегает по двору целыми днями?

euhenio, спасиб, помогу в сервисе) зарегаюсь, сча экзамен только сдам) а то гс в сапе запарили)

хаха)) емае)) гоголь adult сайт)))

spermint:
chemax, пицца под дверь не пролезет? :)

три железных двери) 5 этаж) да лано все поел)

Всего: 1367