Что такое $_SERVER['REQUEST_URI'], Почему там полный адрес сторонних сайтов?

332
12 января 2017, 07:45

Начал собирать простенькую статистику на сайте. Решил в том числе отслеживать на какой странице именно находится пользователь (по какому запросу пришел). Для этой цели использую $_SERVER['REQUEST_URI']. В итоге получаю такие варианты:

/about или /support - ок, это и ожидалось

http://www.bing.com или www.baidu.com:443 - WTF?

Откуда берутся эти адреса сторонних сайтов в запросе?

И как получить корректный адрес, по которому перешел ко мне пользователь или робот.

Answer 1

Что такое $_SERVER['REQUEST_URI']?

Это адрес который был передан для того, чтобы получить доступ к странице с которой пришел запрос.

Для отсеивания роботов я бы рекомендовал передавать через ajax какую нибудь переменную т.к. большинство роботов не запускают джаваскрипт на сайте. Можно сгенерировать токен пользователя на стороне PHP (предварительно собрав нужную информацию о пользователе из массива $_SERVER['...']) и затем запускать скрипт который в фоновом режиме передает на сервер что "на сайте не робот".

READ ALSO
Изменить качество видео с помощью php

Изменить качество видео с помощью php

Нужно при загрузке видеофайла на сервер сохранять его в исходном и хуже качествах с расширением avi или mp4Как это можно реализовать?

336
AJAX: добиться эффекта require из PHP

AJAX: добиться эффекта require из PHP

Как добиться эффекта, аналогичному

283
Ошибка: Warning: Illegal string offset

Ошибка: Warning: Illegal string offset

Немного покурочил класс Walker_Nav_Menu в worpress, цель была заменить стандартные классы меню, на своиВот код:

348
Можно ли парсить авторизацию?

Можно ли парсить авторизацию?

Предположим, у нас есть сайт, который парсит данные с другого сайтаПользователь авторизован на другом сайте и зашел в аккаунт

273