Обход цензуры путем изменения User Agent в браузере

Тема в разделе 'Препятствуем блокировке сайта', создана пользователем Roscenzura.com, 9 янв 2014.

  1. Roscenzura.com

    Roscenzura.com Администратор Staff Member

    Симпатии:
    184
    Репутация:
    0
    Суть данного метода в том, чтобы в серверной переменной $_SERVER['HTTP_USER_AGENT'] передавать нужное значение (маркер), позволяющее идентифицировать пользователя как "своего". Я очень сомневаюсь, что цензоры будут менять настройки своего браузера, чтобы открыть сайт, но, так или иначе, покажет практика.

    Переменная $_SERVER['HTTP_USER_AGENT'] содержит информацию о версии и типе браузера, так, например, у браузера Firefox значение этой переменной может выглядеть так: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5. Но мы можем добавить сюда свой маркер, подкрутив немного настройки браузера, чтобы значение переменной было, допустим, таким: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8; idite-vy-na-h-s-vashey-cenzuroy.ru) Gecko/20051111 Firefox/1.5.

    Для реализации данного метода понадобится отдельное зеркало сайта, доступное лишь для пользователей с измененным значением User Agent. Так, если основное зеркало вашего сайта, например, mydomain.com, то в качестве дополнительного используем mydomain.info (домены в зоне .info можно найти за 3$).

    Далее, на стороне сервера мы делаем проверку:
    PHP:
    // Если не находим маркера в значении серверной переменной User Agent, то редиректим пользователя на основное зеркало.
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'www.mydomain.com')===false)
    {
      
    header('Location: http://mydomain.com');
    }
    Чтобы одновременно работали два зеркала, то нам, возможно, понадобится подкрутить настройки движка. Обычно настройки переменной хранятся в файле config.php или с аналогичным названием. Например, в движке форума IPB в файле cong_global.php нужно переменной $INFO['board_url'] задать такое значение:
    PHP:
    $INFO['board_url']='http://'.$_SERVER['HTTP_HOST'];

    Осталось научить пользователей менять настройки браузера.


    В Опере сделать это достаточно просто.

    Вводим в строку браузера opera:config#ISP:
    изменение USER AGENT в браузере

    И в переменной Id вписываем нужный маркер:
    USER AGENT в браузере

    Данный способ работает в версии Opera 12.


    Изменение User Agent в Мозиле (FireFox).

    В адресной строке браузера вводим about:config, откроется страница с настройками. Теперь кликаем правой кнопкой мыши и создаем новую строковую настройку с названием general.useragent.override:

    изменение юзер агент в браузере Мозила

    Далее вписываем нужное нам значение:
    Изменение изменение USER AGENT в Мозиле

    Теперь наша переменная User Agent будет содержать такое значение: Mozilla/5.0 (idite-vy-na-h-s-vashey-cenzuroy.ru; Windows; U; Windows NT 6.0; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5;


    Изменение значения User Agent в Chrome.

    Для запуска Chrome с нужным нам значением User Agent нужно слегка модифицировать ярлык программы. Для этого в поле «Объект», где указывается полный путь до программы, указываем свое значение User Agent в формате:
    Код:
    C:\Users\Админ\AppData\Local\Google\Chrome\Application\chrome.exe --user-agent="Mozilla/5.0 (www.idite-vy-na-h-s-vashey-cenzuroy.ru; compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
     
    Last edited: 17 фев 2017
  2. habjes

    habjes New Member

    Симпатии:
    2
    Репутация:
    0
    интересный подход, но не особо юзерфрендли, может проще доступ к сайту с регистраций по инвайтам?
    на сколько высока вероятность что кто то даст инвайт сотруднику ркн и прочей нечисти?
     
  3. Roscenzura.com

    Roscenzura.com Администратор Staff Member

    Симпатии:
    184
    Репутация:
    0
    Можно и пароль от почты своей дать, где запрещенная переписка, это же не значит, что заблокируют почтовик. Прецеденты есть, где скрытый от общего доступа контент подвергался блокировке? Может и есть, но это, по идее, незаконно. Да и потом, после авторизации можно редиректить пользователя на поддомен, а куки сделать глобальными, т.е. работающими и на поддомены.
     
  4. habjes

    habjes New Member

    Симпатии:
    2
    Репутация:
    0
    я к тому, что юзеру манипуляции лишние делать нужно с подменой юзер-агента. можно сделать проще, писать куку:

    PHP:
    if (!empty($_GET['_secret'])) {
        
    setcookie('_secret'1time() + (86400 365));
    } elseif (empty(
    $_COOKIE['_secret'])) {
        echo 
    'Здесь ничего нет!';
        die;
    }
     
  5. Roscenzura.com

    Roscenzura.com Администратор Staff Member

    Симпатии:
    184
    Репутация:
    0
    А если пользователь зайдет с другого места? Тогда уж регистрация пусть будет.
     
  6. ivanich

    ivanich New Member

    Симпатии:
    0
    Репутация:
    0
    Даже если юзер зайдет с другого браузера, кука уже действовать не будет
     

Поделиться этой страницей