У меня есть страница с id = в URL-адресе. Проблема заключается в том, что это привлекает много ненужного внимания со стороны хакеров, пытающихся манипулировать URL-адресом, например. id = 133 + order by 1-- (к сожалению, изменение идентификатора не является опцией)Как обнаружить и заблокировать ip Если url содержит недопустимые символы
У меня есть следующий код, чтобы получить идентификатор и удалить любую «неисправность».
$ia = intval($_GET['id']);
$ib = mysql_real_escape_string($ia);
$ic = strip_tags($ib);
но то, что я действительно хотел бы сделать, это запретить IP-адрес пользователя за х раз. Таким образом, если их когда-либо будет недостатком безопасности, он купит мне время, чтобы обнаружить его и исправить до хакера (лучше быть в безопасности, чем извините!)
Также его ненужное использование ЦП, которое, как правило, исключает.
Кто-нибудь знает скрипт php, который может обнаруживать и блокировать ip на основе манипуляции с URL-адресами за х раз? Или даже лучше, кто-нибудь может показать пример, который они уже сделали?
Это не ответ, поэтому я положил его сюда. Я бы не заблокировал их, кроме журнала (возможно, напишите мне тоже) - если вы заблокируете, вы сообщите им, что есть что-то стоящее, и вы не испытываете, потому что вы их блокируете. Устраивают ли Google, Yahoo, CNN и другие кого-либо? – Voitcus
Непосредственно отвечая на вопрос, но поскольку идентификатор является чисто числовым, вы должны просто отнести его к целому числу для его дезинфекции. Это означает, что вы всегда получите либо действительный целочисленный идентификатор, либо ноль, и вы можете легко определить нуль, оценив идентификатор как логическое, и даже не коснитесь базы данных, если пользователь поставляет то, что не является допустимым целым числом. '$ id = (int) $ _GET ['id'];' – DaveRandom