Loading...
Обучение/Помощь новичкам | Уязвимости sql/get/post
Asuna (16.06.2020 в 18:22)
e.n.[Z].z.o , м все же я считаю что если делать нормально то метод не важен, а если делать криво то в любом случаи будет фиаско

mysql старый драйвер и не предусматривает фильтрацию, а в pdo уже все есть и не надо изобретать велосипеды с фильтрацией переменных.
Насчет "ядра" это просто набросок игры с простыми функциями, не думаю что автор думал о безопасности
Вот к примеру
$login=filter_input(INPUT_POST, 'login');
$pass=filter_input(INPUT_POST, 'pass');
$stmt=$pdo->prepare("INSERT INTO `users` SET `login` = ?, `pass` = ? ");
$stmt->execute(array($login,$pass));

Вот что тут сложного? Это пдо + подготовленный запрос с неименованным плейсхолдером если я ничего не попутал.
Так зато так 100% безопасно
Ну там именованные есть и есть не именнованные
CaMnoCe6e , я и не говорила что сложно, сложно для меня будет только ядро переписать так как с пдо я ни разу не работала и в упор его не видела, но на примере переписать смогла бы почти все
CaMnoCe6e (16.06.2020 в 18:26)
Вот к примеру
$login=filter_input(INPUT_POST, 'login');
$pass=filter_input(INPUT_POST, 'pass');
$stmt=$pdo->prepare("INSERT INTO `users` SET `login` = ?, `pass` = ? ");
$stmt->execute(array($login,$pass));

Вот что тут сложного? Это пдо + подготовленный запрос с неименованным плейсхолдером если я ничего не попутал.

все четко. только если больше 1й пременной использую filter_input_array, а вобще использую ларавел, там уже все написано за нас))))
Asuna (16.06.2020 в 18:27)
CaMnoCe6e , я и не говорила что сложно, сложно для меня будет только ядро переписать так как с пдо я ни разу не работала и в упор его не видела, но на примере переписать смогла бы почти все

Ну и то так на примере много писанины я вообще использую лишь одну функцию для prepare подготовки запроса и execute() и там вообще запрос такого типа
query("что то куда-то = ? ", array(то самое что-то));
И всё
Сути не меняет а писанины меньше
Asuna , это если запрос требует фильтрации
php
   $stmt=$pdo->prepare("INSERT INTO `users` SET `login` = ?, `pass` = ? "); $stmt->execute(array($login,$pass));   
А вот простой запрос, который очень похож на mysql
php
   $pdo->query("INSERT INTO `users` SET `login` = 'Вася', `pass` = '1234' ");   
Бери и используй pdo там ничего фильтровать не нужно при запросе в базу, уже 2020 год, какие в опу mysql
Онлайн: 9
Время:
Gen. 0.1474
(c) Bym.Guru 2010-2026