MySQL кодированный запрос, без пробела - PullRequest
0 голосов
/ 17 января 2010

Я хотел бы знать, возможно ли создать запрос без пробела с MySQL?

Я проверил безопасность моего собственного сайта и вставил: str_replace(" ", "", $POST['id']); Все инъекции sql становятся:

id=-1 UNION SELECT pass...

после размещения:

-1UNIONSELECTpass

Это даст мне высокий уровень безопасности на моем собственном сайте? Существуют ли другие способы внедрения SQL в запрос?

Я уже поместил mysql_real_escape_string () в запрос.

Ответы [ 3 ]

6 голосов
/ 17 января 2010

Предотвращение внедрения SQL-кода - довольно широкая тема (и о ней можно прочитать много), но в примере, который вы написали, более простой метод предотвращения, вероятно, будет заключаться в том, чтобы принять только целое число. Так что-то вроде:

var $id = (int)$_POST['id'];

А затем используйте $ id в своем запросе.

3 голосов
/ 17 января 2010

готовить с ЗОП

http://php.net/manual/en/pdo.prepare.php

Вызов PDO :: prepare () и PDOStatement :: execute () для операторов который будет выпущен несколько раз с разными значениями параметров оптимизирует производительность вашего приложение, позволяя водителю вести переговоры на стороне клиента и / или сервера кэширование плана запроса и мета информация, и помогает предотвратить SQL инъекционные атаки путем устранения нужно вручную указывать параметры .

см. Также этот лучший вопрос / ответ:

Как я могу предотвратить внедрение SQL в PHP?

0 голосов
/ 19 января 2010

@ Борис, я рекомендую вам последовать совету @ haim и использовать PDO. Это обеспечит несколько преимуществ, например, сделает ваше приложение более независимым от базы данных и предоставит механизм экранирования для предотвращения внедрения SQL для любого механизма базы данных, с которым вы решили работать.

Несколько лет назад я написал статью о безопасности веб-приложений PHP, в которой есть раздел, посвященный проблемам внедрения SQL-кода. Я уверен, что сейчас есть лучший и более актуальный материал, но это не помешает проверить его, чтобы узнать больше о различных типах проблем безопасности и о том, как их предотвратить: Реальная безопасность PHP . Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...