Intereting Posts
Множественная загрузка изображения с PHP, сохраняющая только один путь к базе данных MySQL PHP / GD ImageSaveAlpha и ImageAlphaBlending PHP if ($ some_var == 1) всегда возвращает true, даже если это не так? Настройка Cronjob в Windows Xampp Могу ли я определить свою собственную разметку формы и сопоставить ее с формой, созданной с использованием Gravity Form (wordpress plugin)? вставить один набор данных несколько раз mysql Передать id из формы для удаления функции Facebook iframe не работает в IE; проблема сеанса / входа? Скидка на корзину по счету корзины и только для предметов, которые не продаются Выйти из уязвимости XSS, поддерживая синтаксис Markdown? Imagick PHP Extension – помощь по монтажу? Каковы общие рекомендации по использованию магии для геттеров и сеттеров? Удалить элемент из массива, если значение элемента содержит искомый символ строки Как изменить htmlentities ()? Установите переменную $ _SERVER при вызове PHP из командной строки?

Что может отправлять запросы GET на мой PHP-скрипт?

Я создал очень простой PHP-скрипт, чтобы изолировать проблему, которую я имею. Скрипт просто получает некоторые неуместные данные POST, а затем подсчитывает до 50 с задержкой во время записи в журнал.

Обычно минута в runtime скрипт получит запрос GET откуда-то, что прерывает ответ клиенту. Чтобы исключить проблемы с клиентами, я использую Chrome Advanced Restful для тестирования. Запрос всегда поступает из моего IP-адреса (я зарегистрировал его).

Что может быть причиной этого и как я могу его исправить? Если бы кто-нибудь мог помочь мне взломать это, я был бы очень благодарен, потому что я не могу, чтобы жизнь меня поняла.

Вот сценарий. Обратите внимание на эхо в начале, успокоительный клиент никогда не получает этого, потому что бродячий ответ GET всегда прерывает его:

<?php echo "SCRIPT HAS FINISHED!"; $q = $_POST['q']; $req=$_SERVER['REQUEST_METHOD']; $ip = $_SERVER['REMOTE_ADDR']; $agent = $_SERVER['HTTP_USER_AGENT']; writelog("IP Logged: ".$ip); writelog("User agent: " . $agent); writelog("Post data: " . $q); writelog("Request method: " . $req); if ($q==""){ writelog ("MISFIRE!!!"); die; } writelog("*** Error check started ***"); for ($i = 1; $i <= 50; $i++) { writelog ($i); sleep(rand(2,20)); } function writelog($towrite) { $tdate=date('d/m/YH:i:s'); $file = 'log/testlog.txt'; $current = $towrite." --- ".$tdate."\n"; file_put_contents($file, $current, FILE_APPEND); } writelog("*** Error check ended ***"); ?> 

И вот типичный результат журнала.

см. после 7-й записи, есть запрос GET .

 IP Logged: 86.31.**.99 --- 06/06/2014 10:45:57 User agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 --- 06/06/2014 10:45:57 Post data: foobar --- 06/06/2014 10:45:57 Request method: POST --- 06/06/2014 10:45:57 *** Error check started *** --- 06/06/2014 10:45:57 1 --- 06/06/2014 10:45:57 2 --- 06/06/2014 10:46:05 3 --- 06/06/2014 10:46:12 4 --- 06/06/2014 10:46:19 5 --- 06/06/2014 10:46:33 6 --- 06/06/2014 10:46:37 7 --- 06/06/2014 10:46:41 IP Logged: 86.31.**.99 --- 06/06/2014 10:46:44 User agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 --- 06/06/2014 10:46:44 Post data: --- 06/06/2014 10:46:44 Request method: GET --- 06/06/2014 10:46:44 MISFIRE!!! --- 06/06/2014 10:46:44 8 --- 06/06/2014 10:47:00 9 --- 06/06/2014 10:47:20 10 --- 06/06/2014 10:47:24 

Это заголовки ответов от успокаивающего клиента:

 Date: Fri, 06 Jun 2014 10:46:44 GMT Server: Apache Content-Length: 20 Connection: close Content-Type: text/html 

Откуда этот запрос GET и как я могу остановить его вмешательство в мои скрипты?