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

moder

moder

Администратор
Команда форума
Суть данного метода в том, чтобы в серверной переменной $_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)"
 
Последнее редактирование:
H

habjes

New Member
интересный подход, но не особо юзерфрендли, может проще доступ к сайту с регистраций по инвайтам?
на сколько высока вероятность что кто то даст инвайт сотруднику ркн и прочей нечисти?
 
moder

moder

Администратор
Команда форума
на сколько высока вероятность что кто то даст инвайт сотруднику ркн и прочей нечисти?
Можно и пароль от почты своей дать, где запрещенная переписка, это же не значит, что заблокируют почтовик. Прецеденты есть, где скрытый от общего доступа контент подвергался блокировке? Может и есть, но это, по идее, незаконно. Да и потом, после авторизации можно редиректить пользователя на поддомен, а куки сделать глобальными, т.е. работающими и на поддомены.
 
H

habjes

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

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

moder

Администратор
Команда форума
А если пользователь зайдет с другого места? Тогда уж регистрация пусть будет.
 
I

ivanich

New Member
Даже если юзер зайдет с другого браузера, кука уже действовать не будет
 
Сверху