Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безопасна ли авторизация?
 
 автор: Sashen   (04.04.2008 в 01:20)   письмо автору
 
 

Этот файл подключется ко всем страницам


session_start();

//  Если хэша нет...
if (!isset($_SESSION['hash']))
  {
  // ... то пытаемся взять хэш и ид из кук...
  if ($_COOKIE['id']&&$_COOKIE['hash'])
     {
         $_COOKIE['id']=intval($_COOKIE['id']);     
         $result = dbquery("SELECT * FROM users WHERE users_id='".$_SESSION['id']."'");
         $data = dbarray($result);

         if ($_COOKIE['hash']==$data['users_hash'])
          {         
           $_SESSION['id']=$_COOKIE['id'];
           $_SESSION['hash']=$_COOKIE['hash'];
          }
     }
  }
  


// Если пользователь авторизирован, то вытаскиваем о нем информацию из БД
if (isset($_SESSION['hash']))
  {
    $result = dbquery("SELECT * FROM users WHERE users_id='".$_SESSION['id']."' AND users_hash='".$_SESSION['hash']."' ");
    $data = dbarray($result);
    echo "Здравствуйте, ".$data['users_login']."";
  }
else echo "Авторизируйтесь!";  


Далее где надо проверяем авторизацию этим - if (isset($_SESSION['hash']))


Насколько все безопасно получилось? Я вижу только один способ завладеть аккаунтом, это просто скопировать куки себе, но это решается привязонностью к ипу...
Есть ли другие дыры?

Когда пользователь авторизируется все просто: создаются сессии ида и хэша, а также эти же куки, но интересует именно этот фрагмент кода. Или это полный бред? (я начинающий). Что можете сказать?

   
 
 автор: parczynski   (04.04.2008 в 01:27)   письмо автору
 
   для: Sashen   (04.04.2008 в 01:20)
 

привязонностью к ипу ничего не решается, довольно много людей юзают прокси серверы - отсюда одинаковые IPшники у разных пользователей, да и спуффинг вроде не отменили еще.
словом следует проверять остальной код на CSS чтобы исключить вероятность угона кукисов

   
 
 автор: Antohins   (04.04.2008 в 12:33)   письмо автору
 
   для: parczynski   (04.04.2008 в 01:27)
 

не CSS а XSS =]

и еще можно сравнивать ип который был при авторизации и который в данный момент.

   
 
 автор: Atheist   (04.04.2008 в 16:30)   письмо автору
 
   для: Antohins   (04.04.2008 в 12:33)
 

> не CSS а XSS
CSS правильней. Просто это путается со списками стилей.

   
 
 автор: mihdan   (04.04.2008 в 17:03)   письмо автору
 
   для: Atheist   (04.04.2008 в 16:30)
 

>со списками стилей.
каскадная таблица стилей (css)

   
 
 автор: Loki   (04.04.2008 в 16:49)   письмо автору
 
   для: Antohins   (04.04.2008 в 12:33)
 

>не CSS а XSS =]
Cross Site Scripting

   
 
 автор: parczynski   (05.04.2008 в 03:02)   письмо автору
 
   для: Loki   (04.04.2008 в 16:49)
 

ну правильно конешн CSS, но как уже сказали путают их CSSов многа очень поэтому вообще XSS это называется. а абравиатура (простите не помню как правильно пишется - я пьяный) PHP по вашему правильно расшифрована чтоле? и вообще помоему не об этом разговор у человека другая проблема

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования