Задать вопрос
@votod
я тут

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

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

?>

Где здесь ошибка? Мне нужно, чтобы блокировало, если в имени хоста содержится слово tor
Если полностью писать имя хоста, тогда блокируется, а мне нужно чуть иначе как писал ранее.
  • Вопрос задан
  • 1058 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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
Микропетпроджект - домашнее облако homeCloud
Ошибка в том, что вы проверяете точное совпадение, а не вхождение подстроки в строку. В гугле так и искать - "php поиск подстроки в строке".
Ответ написан
Комментировать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽