.htaccess или код защиты PHP от нескольких быстрых запросов

Я ищу идеи о том, как я могу остановить внешние скрипты, связанные с моим сайтом. Я ищу ту же идею за Google. Как и в случае, если определенное количество запросов выполняется за определенное количество времени, заблокируйте IP-адрес или что-то еще. Я подумал, что, возможно, решение htaccess, если нет, я напишу PHP.

Любые идеи или ссылки на существующие методы или сценарии очень ценятся.

PHPIDS может быть тем, что вы хотите. «В настоящее время PHPIDS обнаруживает все виды XSS, SQL Injection, встраивание заголовков, обход каталога, атаки RFE / LFI, DoS и LDAP».

Из FAQ:

require_once 'IDS/Init.php'; $request = array( 'REQUEST' => $_REQUEST, 'GET' => $_GET, 'POST' => $_POST, 'COOKIE' => $_COOKIE ); $init = IDS_Init::init('IDS/Config/Config.ini'); $ids = new IDS_Monitor($request, $init); $result = $ids->run(); if (!$result->isEmpty()) { // Take a look at the result object echo $result; } 

Ваш вопрос несколько неоднозначен: хотите ли вы запретить прямые соединения через Apache или хотите ли вы блокировать людей от публикации данных (например, Google, чтобы предотвратить перекрестные инъекции в их поиск)?

Если вы хотите запретить подключения, я бы искал модуль Apache, который мог бы регулировать запросы. Если вы просто хотите защитить форму, как это делает Google, вам необходимо изучить формы токенов.

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

Вы можете попробовать с mod_evasive для Apache

Вы можете использовать PEAR Flood Control .