информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяВсе любят медЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
а в чем конкретнее заключается проблема ? 30.09.03 12:45  Число просмотров: 1254
Автор: 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-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach