Я пытаюсь создать систему фильтрации SQL, которая уведомляет пользователя, когда запрос содержит какое-либо из включенных слов.В том числе письма Capital и Non Capital в Regex
В настоящее время мой регулярное выражение поддерживает только прописные & мне было интересно, будет ли это возможно иметь также принимаем без шапки, как-а также другие комбинации букв, например SElEcT
Я понимаю, ввод вручную будет возможно, однако, это не самый эффективный способ выполнить такую задачу.
Это мой текущий код:
function checkString($string)
{
if(preg_match('[SELECT|FROM|DATABASE|TABLE|DROP|ALTER|LIKE|IN|BETWEEN|UNION|NULL|CHECK|JOIN|AVG|SUM|COUNT|FIRST|LAST|MAX|MIN|GROUP]', $string
Спасибо.
Добавить в 'i' флаг вашего регулярного выражения. Вы имели в виду использовать '[' как разделитель? – elclanrs
Если вы намерены использовать это как механизм предотвращения атак SQL-инъекций, вам может потребоваться полностью рассмотреть другой подход. Это неправильный путь. –
Не предотвращать атаки, а скорее предупреждать пользователя о том, кто пытается атаковать, он будет проходить через сообщения Post и Get. Затем я буду фильтровать, но это отправит им электронное письмо, позволяющее им знать, только небольшой проект, над которым я работаю :) –