|
|
|
| прочитал много книг, но там к сожалению по большей части простые примеры. в темах на форуме и ответа для себя не нашёл,поэтому извиняйте за заезженный вопрос...
я делаю примерно так: вводимые пользователем данные в форму проверяю в с данными в бд,если всё верно запускаю сессию и присваиваю переменным $_SESSION['username'] = $_POST['login'], $_SESSION['pass']=$_POST['password'] и потом соответственно эти данные хранятся на протяжении всего сеанса (пароль зашифрован md5).
Потом в скриптах просто идет проверка
if ((isset($_SESSION['username'))&&(isset($_SESSION['pass')))
{
// пользователь авторизован
// код
}
else
{
// не авторизован
// код
}
Хочу узнать насколько такой способ уязвим, стоит ли проверть реферера на случай того что пользователь подделал сессию с урл не моего сайта, и вообще что лучше не хранить в сессии...
и ещё...как работает функция session.cookie_lifetime (то есть какие значения можно задавать)....
заранее спасибо... | |
|
|
|
|
|
|
|
для: psychomc
(12.10.2008 в 02:16)
| | Нащёт такой проверки, то я думаю так проверять не стоит)
Лучше генерировать какойнибудь уникальный код, который вы запишите в бд и в сессию, а потом их сверять.
Зачем вы вообще записываете пароль в сессию? | |
|
|
|
|
|
|
|
для: sl1p
(12.10.2008 в 02:44)
| | а фиг знает зачем ) я ж поэтому и спрашиваю, что как с сессиями работать не догоняю...то есть догоняю, но в их уязвимостях и данных нет...получается что у меня сейчас все запросы к бд для пользователя идут с условием вроде:
SELECT FROM `users`
WHERE username=$_SESSION['username']
|
расскажите подробнее пожалуйста на счёт уникального кода, то есть как его генерировать это понятно...но он потом меняться не будет и будет постоянным для данного пользователя и будет таскаться в сессии?и уже потом по нему сверять в запросах к базе данных??? | |
|
|
|
|
|
|
|
для: psychomc
(12.10.2008 в 18:45)
| | >а фиг знает зачем )
Вот за такой ответ на вопрос о пароле нужно отрывать уже не яйца, а голову. | |
|
|
|
|
|
|
|
для: Trianon
(12.10.2008 в 18:49)
| | > Вот за такой ответ на вопрос о пароле нужно отрывать уже не яйца, а голову.
Считаете второе более ужасным?? | |
|
|
|
|
|
|
|
для: BinLaden
(12.10.2008 в 19:32)
| | ок, чтобы если надо будет по возможности сравнить данные в сессии с регистрационными данными этого пользователя в бд,такой ответ вас устроит?)
кстати если пароль зашифрован это так ужасно если его вдруг смогут подсосать с сессией?
оказывается умные люди любят стебаться над новичками ... а я и не знал.... | |
|
|
|
|
|
|
|
для: psychomc
(12.10.2008 в 20:12)
| | Какой стеб?
Почему же до вас до всех (при чем отнюдь не только до новичков, здесь и основателей хватает с таким же уровнем пофигизма) не доходит, что пароль которым Вы манипулируете - не Ваш!
Это свой пароль Вы можете писать, хранить, передавать куда, как и где угодно.
А к чужому следует относиться, как к хорошей такой гостайне. За которую если что вдруг - расстрел. | |
|
|
|
|
|
|
|
для: Trianon
(12.10.2008 в 20:32)
| | Trianon, Вы хороший программист (помог уже очень многим и мне несколько раз)...
но суть же темы была не в том что будет если пароль пользователя узнает злоумышленник и что потом будет...а то,ЧЕМ МОЖНО МАНИПУЛИРОВАТЬ В СЕСИИ....повторюсь,я прочитал довольно много книг в которых пишут про сессии и повторюсь: ни в одной из них не было написано как сделать сессию надежной,а везде банальные примеры...поэтому я здесь и создал тему, чтобы опытные программисты смогли дать дельный совет...пожалуйста, ответьте что-нибудь именно по теме
опять же на счет отношения к чужим паролям полностью с Вами согласен...но опять же,не особо догоняю опасность передачи в сессии этих данных... | |
|
|
|
|
|
|
|
для: psychomc
(12.10.2008 в 22:17)
| | Что значит "надежная сессия"?
Что Вы сами вкладываете в эти слова? | |
|
|
|
|
|
|
|
для: Trianon
(12.10.2008 в 22:55)
| | чтобы пребывание пользователя на сайте было как можно более безопасным...и если какой-нибудь чудо-хакер,если вдруг сопрёт данные из сессии,не смог их применить...
что лучше всего передавать в сессии и как потом делать запросы к базе данных...как делаю я я уже написал (если пользователь прошел авторизацию открылась сессия,далее сравниваю его имя в сессии с именем в таблице и он получает соответствующие ему данные) | |
|
|
|
|
|
|
|
|
для: Trianon
(13.10.2008 в 00:22)
| | спасибо за ссылку и за помощь,Trianon
в следующий раз буду более тщательно искать уже существующую тему на форуме прежде чем создавать новую | |
|
|
|