ОК У меня есть довольно странная проблема, и я сидел на ней какое-то время без успеха. Структура моей страницы выглядит примерно так:
<?php ob_start(); error_reporting(E_ALL);
то я создаю массив с информацией о пользователе как:
$USER = array('ID' => md5(uniqid(rand(),1)), 'referrer' => $_SERVER['HTTP_REFERER'], etc. );
Это будет иметь 10 записей или около того. Затем я проверяю, имеет ли пользователь уже установлен мой файл cookie, и если это не так, я делаю (еще до того, как что-то выводится, т. Е. Перед <html>
):
$data = base64_encode(serialize($USER)); setcookie('cookiename', $data, time()+86400*30, '/','mydomain.com',1,1);
Все идет нормально. Теперь скажите, что пользователь перешел на другую страницу моего сайта. Теперь cookie уже будет установлен, поэтому, если проверка вернет true
, я прочитал файл cookie с:
$DUMMY = unserialize(base64_decode($_COOKIE['cookiename']));
Итак, теперь $ DUMMY должна иметь такую же структуру массива, которая ранее была записана в файл cookie. По-настоящему непонятной является то, что когда я пытаюсь получить доступ:
$uid = $DUMMY['ID'];
В моем error_log появляется предупреждение:
PHP Notice: Undefined index: ID
Что действительно странно, потому что (1) он будет читать только cookie, если файл cookie существует, и если он существует, он должен иметь элемент «ID», как он был написан для него в первую очередь (и у меня есть двойные и тройные проверили это с помощью print_r($DUMMY);
например, и все элементы есть). Кроме того, когда я пытаюсь использовать $uid
я могу , т. $uid
значение, которое оно должно. Так что все кажется ОК, за исключением того, что мой файл error_log получает 1000-е из этих предупреждающих сообщений PHP. Есть идеи?
Я делаю ob_end_flush();
в самом конце нижнего колонтитула страницы. Благодарю.
PS: Еще несколько странных вещей продолжаются. ОК для целей тестирования, я добавил некоторый IP-фильтр, поэтому скрипт cookie загружается только в том случае, если я посещаю страницу. Кажется, что это работает, потому что в базе данных больше не было сделано никаких записей. Тем не менее сообщения об ошибках сохраняют отметку в файле error_log. Я предоставляю выдержку:
[13-Dec-2017 01:04:34 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:04:35 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:05:06 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:05:07 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:05:38 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:05:39 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:06:10 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:06:11 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:06:42 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:06:43 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:07:14 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:07:15 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:07:46 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:07:47 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:08:18 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:08:20 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:08:50 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:08:51 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:09:22 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:09:23 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:09:54 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:09:55 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:10:26 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:10:27 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:10:58 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:10:59 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:11:30 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:11:31 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:12:03 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:12:03 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:12:35 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:12:35 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:13:07 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:13:07 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:13:39 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:13:39 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:14:11 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:14:11 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:14:43 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:14:43 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:15:15 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:15:15 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:15:47 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:15:47 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:16:19 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:16:19 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:16:51 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:16:51 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:17:23 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:17:23 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:17:55 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:17:55 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:18:27 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51 [13-Dec-2017 01:18:27 Europe/Berlin] PHP Notice: Undefined index: ID in /home/xxxxxxxx/public_html/include/usertrack.inc.php on line 51
Две вещи кажутся мне такими странными: 1) Почему я вижу их в первую очередь, так как сценарий включен только в мой IP-адрес, и 2) есть какая-то странная регулярность в отношении этих сообщений. 2 раза каждые 30 секунд.
Что это? Какой-то хакерский атак? Но даже если это был какой-то странный DDoS, почему нападавший увидит скрипт cookie? Мой IP-фильтр:
if ($_SERVER['REMOTE_ADDR'] == 'xxx.xxx.xxx.xxx') { // the x's would be my IP require 'include/usertrack.inc.php'; flush(); }
Для меня это абсолютная мистерия.
о человек … Мне плохо. Я просто решил это.
Хорошо, я сделал некоторые недавние изменения в моей структуре каталогов, и я запускаю собственный облачный сервер (используя owncloud). Из-за изменения структуры каталогов owncloud больше не нашел каталог, с которым он должен был синхронизироваться. Таким образом, каждые 30 секунд он пытался связаться с сервером, чтобы найти каталог. Поскольку он пришел с моей машины, запрос owncloud действительно имел мой IP-номер, поэтому передал фильтр IP, но поскольку он не мог найти каталог, он должен был вызвать около 404 или что-то еще.
Я не уверен, что делает запрос owncloud, но он, должно быть, вызвал скрипт cookie, возможно, даже принял cookie, но, возможно, не разрешил моему скрипту считывать cookie или удалять его в тот же самый момент, когда он был установлен или что-то в этом роде. В любом случае, теперь, когда я снова указал на правильную директорию, сообщения об ошибках перестают отображаться, а error_log чист.
человек … 2 дня моей жизни Я никогда не вернусь!
Извини за это.