Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > авторизация пользователей |
Автор: olegop 27.12.2007, 11:15 | ||||
XOTABIH, Тоже столкнулся с проблемой авторизации пользователей, полазил по инету, натолкнулся на статейку, там используется логин и пароль из текст-файла, я не много видоизменил, вот выложу, может поможет ... файлик авторизации (auth.php)
индексная страница (index.php) через нее и будут подключаться файлы из закрытой зоны
Ну и вот, половинка задачи, регистрацией пользователей не занимался ... в задачу не входило, но думаю с этим будет проще ) Добавлено через 9 минут и 22 секунды В название не вчитался, Вы про регистрацию, Я про авторизацию )) ну ничего бывает ) |
Автор: skyboy 27.12.2007, 11:36 | ||
|
Автор: olegop 27.12.2007, 14:56 | ||||||
Ну тогда так
$_SESSION['login'] и $_SESSION['passw'] переменные содержащие значения переданные формой, которые сравниваются с $_SESSION['LoginForm'] и $_SESSION['PassForm'] значениями взятыми из таблицы пользователей, согласен не удобочитаемо, но я посчитал лишним их переприсваивать переменным в удобочитаемом виде )) впринципе много еще можно придумать вариантов условия сравнения, но у меня этот работает на ура ... на на счет сессион_старт(); не знаю на юних системе (фрихе) все вполне работает как и на винде если ты имел ввиду платформы под системами ... а может я не правильно понял |
Автор: PrivateRayan 27.12.2007, 15:02 |
Первое ты не понял. Читай здесь: http://phpfaq.ru/slashes Второе тоже. Все эти шаманские пляски, которые я процитировал, просто не нужны. Надо всего лишь добавить после $row = mysql_fetch_array($result, MYSQL_ASSOC); один if. который будет проверять - есть в $row что-то, или нет. И если есть - то писать в сессию, а если нет - выдавать форму. Добавлено через 1 минуту и 51 секунду А session_start должна вызываться до всякого вывода в браузер. до всех этих <html>, <head> и <meta Которые у тебя, кстати, два раза выдаются. W3C обрыдается просто, глядя на такую страничку =) |
Автор: MoLeX 27.12.2007, 16:34 | ||
olegop, что бы не было такого необходимо использовать md5(), тогда пусть хоть запишутся фсякой ерундой не чего не произойдет.
т.е. пусть злой дяди хакер подставить вот такую строчку passpost=' or 1=1 то после пропуска через md5() получится лабуда которая не как не сможет повредить твой скрипт |
Автор: skyboy 27.12.2007, 16:40 |
оригинальная защита. чем не устраивает http://php.net/mysql_real_escape_string? |
Автор: MoLeX 27.12.2007, 16:45 |
skyboy почему не устраивает, очень даже устраивает)))) просто через md5() - тоже способ решит проблему, а тем более если пассы хранятся в мд5 то почему бы и не использовать так?! |