Size: a a a

2019 December 25

R'

R00f ' in phpGeeks
мое уважение бро
источник

K

Konstantin in phpGeeks
R00f '
prepared не для меня много надо менят
ну сложна пиздьец
$connect = new PDO('mysql:host=localhost;dbname=test','root');  

$query = "INSERT INTO users VALUES
     (:user_name)";

$prepare = $connect->prepare($query);
$res = $prepare->execute(['user_name' => $username]);
источник

R'

R00f ' in phpGeeks
ну да спасибо - пошел изучат препайр
источник

R'

R00f ' in phpGeeks
обяcни пожалуйста:
источник

R'

R00f ' in phpGeeks
Если в приложении используются исключительно подготовленные запросы, разработчик может быть уверен, что никаких SQL-инъекций случиться не может (однако, если другие части текста запроса создаются с неэкранированным вводом, то SQL инъекция по-прежнему возможна).
источник

R'

R00f ' in phpGeeks
другие части текста запроса  - на моем примере?
источник

K

Konstantin in phpGeeks
R00f '
другие части текста запроса  - на моем примере?
это если ты в моем примере в переменной $query будешь хранить не строку а конкатенацию с $_POST переменной например
источник

R'

R00f ' in phpGeeks
вот мой:
источник

R'

R00f ' in phpGeeks
 public function register($user_id,$username,$first_name,$last_name) {
       $query = "INSERT INTO user ( user_id,username,first_name,last_name,created)
       VALUES ($user_id,$username,$first_name,$last_name,NOW())" ;
       $result = $this->db->query($query);
       if (!$result)return false;
       else   return true;
   }
источник

h🐴

h0rsie 🐴 in phpGeeks
R00f '
Если в приложении используются исключительно подготовленные запросы, разработчик может быть уверен, что никаких SQL-инъекций случиться не может (однако, если другие части текста запроса создаются с неэкранированным вводом, то SQL инъекция по-прежнему возможна).
если пользовательский ввод будет проходить как параметры в prepared statements, все будет ок
источник

K

Konstantin in phpGeeks
R00f '
 public function register($user_id,$username,$first_name,$last_name) {
       $query = "INSERT INTO user ( user_id,username,first_name,last_name,created)
       VALUES ($user_id,$username,$first_name,$last_name,NOW())" ;
       $result = $this->db->query($query);
       if (!$result)return false;
       else   return true;
   }
если ты вместо
$query = "INSERT INTO user ( user_id,username,first_name,last_name,created)
       VALUES (:user_id,:user_name,:first_name,:last_name,NOW())"

пишешь

$query = "INSERT INTO user ( user_id,username,first_name,last_name,created)
       VALUES ($user_id,$username,$first_name,$last_name,NOW())"

то привет sql иньекция
источник

R'

R00f ' in phpGeeks
$_POST я обработиваю в другом класе - в телега они приходят как JSON
источник

K

Konstantin in phpGeeks
R00f '
$_POST я обработиваю в другом класе - в телега они приходят как JSON
похер где ты там что обработал, либо ты юзаешь prepare и у тебя все хорошо

либо ты юзаешь костыли и суешь переменные прямо в запрос и у тебя там бабка надвое сказала
источник

R'

R00f ' in phpGeeks
все я понял - значит исползую препейр и не боюс SQl , ша перепишу код и покажу
источник

XB

Xander Bass in phpGeeks
Konstantin
похер где ты там что обработал, либо ты юзаешь prepare и у тебя все хорошо

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

K

Konstantin in phpGeeks
Xander Bass
Либо обрабатываешь входные данные по-человечески с приведением типов и проверкой по регуляркам.
источник

XB

Xander Bass in phpGeeks
А чтобы всякие мудаки не насовали в данные всякую фигню. Мусор, знаешь ли, тоже место в базе занимает.
источник

R'

R00f ' in phpGeeks
  public function register($user_id,$username,$first_name,$last_name) {
     $prep = $this->db->prepare("INSERT INTO user ( user_id,username,first_name,last_name,created)
       VALUES (:userid,:usernam,:usernom,:userfam,NOW())") ;
       $prep->bindParam(':userid', $user_id);
       $prep->bindParam(':usernam', $username);
       $prep->bindParam(':usernom', $first_name);
       $prep->bindParam(':userfam', $last_name);
       $result = $prep->execute();
       if (!$result)return false;
       else   return true;
   }
источник

R'

R00f ' in phpGeeks
почему то не работает
источник

️️

️️👑OGURCHIK 🖤 ️ in phpGeeks
Ну и почему?
источник