Надежность php HTTP_HOST & HTTP_REFERER для критических задач - PullRequest
3 голосов
/ 10 октября 2010

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

Например, если пользователь пришел с домена siteusa.com, то контент будет показан отфильтрованным соответственно конкретному пользователю. Если пользователь приходит с siteuk.com/sitechina.com, содержимое будет соответствующим образом отфильтровано и т. Д ...

Я планирую сделать что-то подобное, чтобы определить URL-адрес и предоставить контент

 $ref = getenv("HTTP_REFERER");
    echo $ref; 

или

$host = $_SERVER['HTTP_HOST'];
echo $host ;

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

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

Есть вопрос смилара, но в отношении кодового символа здесь .

1 Ответ

2 голосов
/ 10 октября 2010

HTTP_REFERER - плохой выбор. HTTP_REFERER будет пустым, когда пользователь заходит на ваш сайт напрямую.

HTTP_HOST / SERVER_NAME должен сделать свое дело, но может произойти сбой из-за программного обеспечения балансировки нагрузки или прокси.

Итак, это зависит от конфигурации ваших серверов. Если у вас есть доступ к конфигурации хостов (например, apache virtualhosts), вы можете просто указать переменную ENV в каждом VirtualHost для каждого домена.

...