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

    −4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    include_once "config.php";
    
    if(isset($_POST['username'])) $username = $_POST['username'];
    if(isset($_POST['password'])) $level = $_POST['password'];
    if(isset($_POST['mail']))     $mail = $_POST['mail'];
    if (isset($username) && isset($password) && isset($mail)){ 
       $sql = mysql_query("INSERT INTO 'gamedata' (id, username, password, mail) VALUES (NULL, '$username', '$password', '$mail')");
       }
    
    ?>

    Я тут вам покушать принёс. Но не просто так, а с вопросом: почему этай хуйня не записывается в базу?

    Запостил: retrouretra, 16 Апреля 2018

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

    • Надо использовать функцию "mysql_real_escape_string()".
      Ответить
    • Сможешь догадаться, что произойдет, если я в поле
      mail
      напишу
      ') DROP TABLE 'gamedata' --
      ?
      Ответить
      • > что произойдет
        Ничего? Мускуль по-дефолту вроде бы не исполняет несколько запросов в одной строке.
        Ответить
        • А хуй его знает. Ничего ведь не мешает перевод строки вставить.

          > csrf verification error

          Опять сломали, блять.
          Ответить
          • Ну я имел в виду за один вызов query.
            Ответить
            • А, тогда не знаю.
              Ответить
              • Ээх, с этой вашей безопасностью столько всего интересного запретили делыть.

                ЗЫ. А можно ли как-нибудь объединить эти запросы ? У мэнэ что-то не получается, мне кажется, что неможно.
                Ответить
                • В update по идее можно другую запись поправить, в select - поправить условие. А вот с insert ничего интересного не придумывается.
                  Ответить
        • Произойдет

          Bad query in /home/v/vasjan_krotiy_koder/www/site/index.php at line 9348
          Ответить
    • И нахуя ты что-то в id пихаешь?
      Ответить
    • говно
      Ответить
      • поэтому и запостил
        Ответить
        • "говно" — эта надпись заменяет ту хуйню, что я написал до этого, так что можешь не обрашать внимания, ведь я — dolboeb.
          Ответить
    • Зачётное погоняло.
      Ответить
    • А в целом, даже посрать на "mysql_real_escape_string()". В "INSERT INTO 'gamedata'" вместо апострофа следует использовать обратный апостроф.
      Ответить
      • Главный пидор сайта как обычно советует хуйню.
        Ну и что мешает в инъекции обратный апостроф использовать?
        Ответить
        • Мне кажется нужно использовать PDO чтобы решить проблемы инъекции на корню
          Ответить
    • Долбоёб
      $level = $_POST['password'];
      isset($password)
      Ответить
    • if(isset($_POST['password'])) $level$password = $_POST['password'];

      if (isset($username) && isset($password) && isset($mail)){
      //если id это AI то не надо его указывать!
      $sql = mysql_query("INSERT INTO 'gamedata' (id, username, password, mail) VALUES (NULL, '$username', '$password', '$mail')");
      }
      и желательно юзать PDO
      $stmt = $dbh->prepare("INSERT INTO gamedata ( username, password, mail) VALUES (?, ?, ?)");
      $stmt->bindParam(1, $username);
      $stmt->bindParam(2, $password);
      $stmt->bindParam(3, $mail);
      $stmt->execute();
      Ответить

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