@votod
я тут

Как заблокировать сеть tor?

<?php
$hostname = gethostbyaddr($_SERVER['HTTP_CF_CONNECTING_IP']);
if ($hostname == 'tor') {print "У вас нет прав!";exit;}

?>

Где здесь ошибка? Мне нужно, чтобы блокировало, если в имени хоста содержится слово tor
Если полностью писать имя хоста, тогда блокируется, а мне нужно чуть иначе как писал ранее.
  • Вопрос задан
  • 1057 просмотров
Решения вопроса 1
@votod Автор вопроса
я тут
<?php
$string = gethostbyaddr($_SERVER['HTTP_CF_CONNECTING_IP']);
if(stristr($string, 'tor')) {echo 'Сеть Tor заблокирована';exit;}
?>

Рабочий php скрипт.

HTTP_CF_CONNECTING_IP это используется, т.к. сайт проксируется через cloudflare.com
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Ошибка в том, что вы проверяете точное совпадение, а не вхождение подстроки в строку. В гугле так и искать - "php поиск подстроки в строке".
Ответ написан
Комментировать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы