PHP регулярное выражение для проверки, если он содержит какой-либо SQL

0

Как я могу использовать PHP preg_match для строки, чтобы проверить, содержит ли она какой-либо sql? Не для предотвращения SQL-инъекции, а просто для того, чтобы определить, содержит ли он SQL-оператор

  • 0
    Ты не можешь Вы можете искать некоторые ключевые слова, специфичные для SQL, но чтобы проверить, является ли это действительный SQL, нужна более сложная логика.
  • 0
    Вы можете попытаться выполнить запрос и получить результат этого выполнения в переменной. Вы можете настроить тестовую базу данных для этих запросов, чтобы ваши фактические данные не были скомпрометированы.
Показать ещё 1 комментарий
Теги:
preg-match

1 ответ

3

Проверка строки для SQL не стоит вашего времени или ресурсов. Если целью является предотвращение инъекций, вы должны использовать PDO.

$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array('name' => $name));

foreach ($stmt as $row) {
    // do something with $row
}

Справочный материал: Как я могу предотвратить SQL-инъекцию в PHP?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню