За последние 24 часа нас посетили 34463 программиста и 1693 робота. Сейчас ищут 647 программистов ...

Насколько уязвим код?

Тема в разделе "PHP для новичков", создана пользователем Ігор, 7 янв 2009.

  1. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    PHP:
    1. <?
    2. /*************************************************
    3.  * ek-image  1.0
    4.  * by: Юхименко Игорь
    5.  * e-mail: [email=igor@ekklesiast.org.ua]igor@ekklesiast.org.ua[/email]
    6.  *************************************************/
    7.  
    8. define ('ROOT_DIR', './');
    9. define ('ADMIN', '-1');
    10.  
    11. if (!($_SESSION["logged_in"]))
    12. {
    13.   header("Location: login.php");
    14.   exit;
    15. } // End accesscheck
    16.  
    17.  
    18. ?>
    19.  
    20. //дальше иет все функции администратирования.
    21.  
    22.  
     
  2. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Вставляем гравицапу отматываем шнур и взрываем ........... :D
    А если честно то как можно определить по куску кода :D ?
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Код безопасен, но не правилен. Правильно писать так:
    PHP:
    1. if(!isset($_SESSION['logged_in'])) ...
     
  4. Тигренок

    Тигренок Активный пользователь

    С нами с:
    29 дек 2008
    Сообщения:
    133
    Симпатии:
    0
    Адрес:
    ты такой нарисовался?
    можно в Логин.пхп заведомо true выражение вписать, чтобы у нас появилась сессонная переменная логгед_ин.
    но это нужно уже в самом логин.пхп хорошую защиту ставить ИМХО.
     
  5. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    login.pxp
    PHP:
    1. <?
    2. /*************************************************
    3.  * ek-image  1.0
    4.  * by: Юхименко Игорь
    5.  * e-mail: [email=igor@ekklesiast.org.ua]igor@ekklesiast.org.ua[/email]
    6.  *************************************************/
    7.  
    8. define ("ROOT_DIR", "../");
    9. require_once (ROOT_DIR."set/auth.php");
    10.  
    11. function login($u, $p)
    12. // Проверка на корректность пароля
    13.  {
    14.   global $auth;
    15.   if($u == $auth['user'] && $p == $auth['pass']){
    16.           return true;
    17.  
    18.  }  else
    19.           return false;
    20.  
    21. }
    22. $username=$_POST["username"];
    23. $password=$_POST["password"];
    24. $submitted=$_POST["submitted"];
    25.  
    26. // Try login if U & P provided
    27. if($submitted && $username && $password)
    28. {
    29.   $login = login($username, $password);
    30.   if($login == true)
    31.   {
    32.     session_register('logged_in');
    33.     $_SESSION["logged_in"] = true;
    34.     header("Location: ".ROOT_DIR."admin.php"); // Sends user to admin.php if login = true
    35.   }
    36. }
    37.  
    38. if ($logged_in) header("Location: ".ROOT_DIR."admin.php");
    39. if (!($submitted && $_SESSION["logged_in"])) { ?>
    дальше следует html код (форма для логинизации)
     
  6. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
     
  7. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Откуда эта переменная берется?
     
  8. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    это ссесионная переменная
    PHP:
    1.  session_register('logged_in');
    2.      $_SESSION["logged_in"] = true;