1. PHP / Говнокод #12246

    +37

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    <?php
    session_start();
    if(!empty($_SESSION['UserLogin']) or !empty($_SESSION['UserId']))
    {
      header('Location: user');
    }
    if(isset($_POST['UserName'])) 
    { 
      $UserName = $_POST['UserName']; 
      if($UserName == '') 
      {
       unset($UserName);
      } 
    }
    if(isset($_POST['UserEmail'])) 
    { 
      $UserEmail = $_POST['UserEmail']; 
      if($UserEmail == '') 
      {
       unset($UserEmail);
      } 
    } 
    if(isset($_POST['UserLogin'])) 
    { 
      $UserLogin = $_POST['UserLogin']; 
      if($UserLogin == '') 
      {
       unset($UserLogin);
      } 
    }
    if(isset($_POST['UserPassword'])) 
    { 
      $UserPassword = $_POST['UserPassword']; 
      if($UserPassword == '') 
      {
       unset($UserPassword);
      } 
    }
    if (empty($UserName) or empty($UserEmail) or empty($UserLogin) or empty($UserPassword))
    {
     header('Location: registration?error_code=1');
    }
    else
    {
      include("application/db.config.php");
      $UserLogin = stripslashes($UserLogin);
      $UserLogin = htmlspecialchars($UserLogin);
      $UserLogin = trim($UserLogin);
      $UserPassword = stripslashes($UserPassword);
      $UserPassword = htmlspecialchars($UserPassword);
      $UserPassword = trim($UserPassword);
      $SelectQuery = mysql_query("SELECT id FROM Users WHERE UserLogin ='$UserLogin'", $db);
      $QueryResult = mysql_fetch_array($SelectQuery);
      if(!empty($QueryResult['id']))
      {
        header('Location: registration?error_code=2');
      }
      else
      {
        $InsertQuery = mysql_query("INSERT INTO Users(UserName, UserSName, UserLogin, UserPassword, UserEmail, 
        UserPhone, UserStatus) VALUES('$UserName', 'Фамилия не указана', '$UserLogin', '$UserPassword', '$UserEmail', 'Телефон не указан', 'Статус не указан')");
        if($InsertQuery == true)
        {
          header("Location: action_status?reg_code=good&UserLogin=$UserLogin&UserPassword=$UserPassword");
        }
        else
        {
          header('Location: registration?error_code=3'); 
        }
      }
      
    }
    ?>

    Извержение.

    Запостил: Govnisti_Diavol, 04 Декабря 2012

    Комментарии (19) RSS

    • > &UserPassword=$UserPassword
      Не верю в существование таких людей. Это слишком прекрасно.
      Ответить
      • Что Вы имеет ввиду?
        Ответить
        • Что постороннему человеку получить url, в отличие от тела запроса, много проще. Журнал браузера, логи всевозможных проксей, да и тупо в адресной строке глянуть.
          Ответить
      • А я верю. По крайней мере, md5($UserPassword) где-то видел.

        Кстати, только что нагуглил какое-то говно: http://hpc.name/thread/3244/p1.html (открываем первый спойлер).
        Ответить
    • == true умиляет
      Ответить
    • А зачем SQL-инъекцию допустили?
      Ответить
      • Для удобства. Вдруг понадобится что-то исправить, а доступа к серверу нет. А тут пара запросов через SQL иньекцию, и все в порядке.
        Ответить
        • В таком случае там наверняка есть дыра, позволяющая заливать на сервер свои скрипты. Для удобства.
          Ответить
          • Безусловно, не поднимать же ftp/ssh для этого.
            Ответить
      • В адресе не может быть инъекции, только в логине или пароле.
        Ответить
        • почему?
          Ответить
          • "На говнокоде основным режимом является сарказм" (q) не помню, кто-то
            Ответить
            • Багминот. Стыдно не знать!
              Ответить
            • Да это тут все кому не лень повторяют.
              Ответить
              • Привет, Багминот. Я ранее предположил, что ты xXx_TotalWar, а теперь вижу, что ты одна из форм Багминота.
                Ответить
                • Да неужели? Буду знать.
                  Еще скажи, что я третье обличье Люра, который на самом деле Страйкер.
                  Алсо я - бот Тараса, пушков и moderator в одном лице.
                  Ответить
                  • > Еще скажи, что я второе обличье Люра, который на самом деле Страйкер. Алсо я - бот Тараса.
                    И guest в седьмом колене.
                    Ответить
                • клавиатурой гостя глаголит истина
                  Ответить

    Добавить комментарий