Intereting Posts
Нет заголовка «Access-Control-Allow-Origin» Допустимый размер памяти Нет почты, полученной во входящих почтовых ящиках с XAMPP 1.8.0, MercuryMail и mail () сортировать файлы по дате в PHP Заменить тег в HTML с помощью DOMDocument Как отправить запрос Ajax в среду Laravel 5.0? Является ли это правильной моделью фабричного метода? Как отобразить вложенный Json-объект в Jqgrid AJAX / PHP – Как получить опубликованные данные для загрузки в модальный на той же странице Установка RabbitMQ PHP: Неустранимая ошибка: Class 'AMQPConnection' не найден Ошибка FPDF: этот документ (testcopy.pdf), вероятно, использует метод сжатия, который не поддерживается свободным парсером, поставляемым с FPDI Как передать значение переменной javascript переменной php? Серые родительские окна, когда дочернее окно вверх Можете ли вы использовать построитель запросов для построения запроса с динамическим предложением WHERE во время выполнения в laravel? Добавление нескольких файлов с PDO

Предотвращение SQL-инъекций в PHP с помощью MDB2

Я пытаюсь понять, как предотвратить sqlinjection, я написал эту базовую функцию: function

antiInjectie($inputfromform){ $temp = str_replace("'", "`",$inputfromform); $temp = str_replace("--", "~~",$temp); return htmlentitites($temp); } 

Однако кто-то сказал, чтобы я также принимал гекс-значения, но как это сделать?

Обновление Я застрял в MDB2 и pgsql

Bobby-Tables имеет хорошее руководство по предотвращению внедрения SQL.

Короче: не вкручивайтесь сами с помощью ввода, используйте методы API базы данных, которые позволяют связать параметры.

С MDB2 вы можете сделать то же самое, что и с собственной PDO-структурой PHP, которая была предложена в связанном вопросе. Лучший способ остановить SQL Injection в PHP . Вы можете либо использовать подготовленный оператор с prepare и execute либо путем цитирования и вставки значений вручную.

Используйте pg_query_params () , самую легкую функцию, чтобы избежать SQL-инъекций с использованием PHP и PostgreSQL.

Во-первых, не пишите никакой функции escapting самостоятельно. Они, скорее всего, будут разбиты, и библиотека базы данных, скорее всего, будет содержать подходящую. Для mysql вы можете использовать mysql_real_escape_string .

Гораздо лучшее долгосрочное решение – это не создание полного запроса в виде текста, а использование готовых запросов и передача значений во время выполнения. Для mysql проверьте расширение mysqli.