информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Где водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
а в чем конкретнее заключается проблема ? 30.09.03 12:45  Число просмотров: 1329
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
<programming>
[PHP] проблема с сессиями 29.09.03 18:28  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Что тут не правильного? Всё делаю по докам:
<?php
include("pass.inc.php");

if($_POST["pass"]) { $pass=$_POST["pass"]; }

session_start();

if (!isset($_SESSION['pass'])) 
{
$_SESSION['pass'] = $pass; 
}

if(md5($_SESSION['pass'])!=$password) 
{
 ?>
 <center>
 Пароль доступа:<br>
 <form method=post action=sess.php>
 <input type=password name=pass><br>
 <input type=submit value="Войти">
 </form>
<?
}
else
{
echo "Авторизация принята";
}

---

Все эта мутата из-за "register_globals=off" было бы "on"
другой вопрос, а так какие-то проблемы :(
может быть из-за этого ? 30.09.03 11:31  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
> Что тут не правильного? Всё делаю по докам:
>
> <?php
> include("pass.inc.php");
>
> if($_POST["pass"]) { $pass=$_POST["pass"]; }
>
> session_start();
>


Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

что происходит в pass.inc.php ?

session_start()
нет 30.09.03 12:28  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Там просто пароль в md5
а в чем конкретнее заключается проблема ? 30.09.03 12:45  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
[PHP] проблема с сессиями 30.09.03 11:01  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> Что тут не правильного? Всё делаю по докам:
>
> <?php
> include("pass.inc.php");
> 
> if($_POST["pass"]) { $pass=$_POST["pass"]; }
> 
> session_start();
> 
> if (!isset($_SESSION['pass'])) 
> {
> $_SESSION['pass'] = $pass; 
> }
> 
> if(md5($_SESSION['pass'])!=$password) 
> {
>  ?>
>  <center>
>  Пароль доступа:<br>
>  <form method=post action=sess.php>
>  <input type=password name=pass><br>
>  <input type=submit value="Войти">
>  </form>
> <?
> }
> else
> {
> echo "Авторизация принята";
> }
> 

---
>
> Все эта мутата из-за "register_globals=off" было бы "on"
> другой вопрос, а так какие-то проблемы :(

ежели в начале скрипта явно напишешь
$pass="";
$password="";

мутоты с register_globals=off будет меньше. Только я вот не понимаю самой схемы - почему session_start вызывается ДО проверки пароля? И зачем пароль хранится в переменных сессии? Вобщем назначение этого фрагмента кода совершенно неясно.

[PHP] проблема с сессиями 30.09.03 12:32  
Автор: choor Статус: Elderman
<"чистая" ссылка>
> $pass="";
> $password="";
Дык если я их сразу вместе задам, как будет проходить авторизация? :)

А пароль храню в сессии чтобы 1000 раз его не вводить, разве не ясно? ;)
[PHP] проблема с сессиями 30.09.03 13:16  
Автор: paganoid Статус: Member
<"чистая" ссылка>
> > $pass="";
> > $password="";
> Дык если я их сразу вместе задам, как будет проходить
> авторизация? :)

задавать их нужно до использования, тогда notice'ов не будет.

$pass ="" нужно сделать, чтоб переменная была инициализирована до каких бы то ни было условных блоков, или по крайней мере заменить
if($_POST["pass"]) { $pass=$_POST["pass"]; } на
$pass=$_POST["pass"] ? $_POST["pass"] : "";


> А пароль храню в сессии чтобы 1000 раз его не вводить,
> разве не ясно? ;)

Неясно ;) Логичнее было бы имхо при корректности входа выставлять некий флажок, а по нему уже определять, корректный ли юзер или нет (а у тебя и каждый раз md5 вызывается, подтормаживает, и открытый пароль лежит в переменных сессии)

вот варьянт:

session_start ();

if (isset($_POST["pass"])){
   $_SESSION["logged_in"] = (md5($_POST['pass'])==$passwordhash ? 1 : 0);  
}

if (isset($_SESSION["logged_in"]) && $_SESSION["logged_in"] == 1){
  аутентификация пройдена
}
else {
  выводим форму;
}




---

1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach