Вчера на работе мне понадобилось настроить браузеры Firefox на тонких клиентах нашего интернет-кабинета таким образом, чтобы пользователи не смогли изменить некоторые настройки в браузере и сидеть в интернете в обход прокси. Поиск в интернете и дальнейшая настройка сподвигли меня на написание данной статьи. Здесь я расскажу, как можно заблокировать некоторые параметры браузера от изменения шаловливыми ручками пользователей.
Создадим файл mozilla.txt с примерно таким содержимым:
//
lockPref(“browser.startup.homepage”, “alfsoft.ru”);
lockPref(“network.proxy.type”, 1);
lockPref(“network.proxy.http”, “192.168.1.1”);
lockPref(“network.proxy.http_port”, 3128);
lockPref(“network.proxy.no_proxies_on”, “localhost, 127.0.0.1”);
Первой строкой обязательно должны идти два символа слэша (//). Названия нужных параметров и их значения можно посмотреть, набрав в браузере about: config. На этом примере я запретил пользователям менять настройки нашего прокси и домашнюю страницу.
Теперь нужно все символы этого файла сместить на 13 позиций в ASCII-таблице и получить зашифрованный файл mozilla.cfg.
Для этого используем онлайн-сервис Automatic Mozilla Configurator.
Под Windows можно воспользоваться программой ByteShifter, там же есть версия под Linux, но у меня она не заработала. Лучше создать такой perl-скрипт:
#!/usr/bin/perl
# Byteshifting program for mozilla’s netscape.cfg files
# Old netscape 4.x uses a bytechift of 7
# To decode: moz-byteshift.pl -s -7 <netscape.cfg >netscape.cfg.txt
# To encode: moz-byteshift.pl -s 7 <netscape.cfg.txt >netscape.cfg
# Mozilla uses a byteshift of 13
# To decode: moz-byteshift.pl -s -13 <mozilla.cfg >mozilla.txt
# To encode: moz-byteshift.pl -s 13 <mozilla.txt >mozilla.cfguse strict;
use Getopt:: Std;
use vars qw/$opt_s/;
getopts(“s:”);
die “Missing shift\n” if (! defined $opt_s);
my $buffer;
while(1) {
my $n=sysread STDIN, $buffer, 1;
last if ($n eq 0);
my $byte = unpack(“c”, $buffer);
$byte += 512 + $opt_s;
$buffer = pack(“c”, $byte);
syswrite STDOUT, $buffer, 1;
}
Сохраним файл как mozilla_byteshift.pl, сделаем его исполняемым:
$ chmod +x mozilla_byteshift.pl
Положим в папку со скриптом наш файл mozilla.txt и выполним в терминале:
$ ./mozilla_byteshift.pl -s 13 <mozilla.txt >mozilla.cfg
Полученный файл mozilla.cfg нужно положить в папку с исполняемым файлом Firefox:
Для Linux обычно: /usr/lib/firefox/
Для Windows обычно: C:\Program Files\Mozilla Firefox\
Теперь откроем по этому пути подкаталог ./greprefs и там найдем файл all.js. Откроем этот файл в текстовом редакторе и в конец добавим такую строку:
pref(“general.config.filename”, “mozilla.cfg”);
Сохраним изменения.
Запускаем Firefox и смотрим:
Все наши запрещенные настройки теперь недоступны для изменения!
Hello there, I discovered your website by means of Google at the same time as searching
for a similar topic, your web site came up, it seems
to be good. I have bookmarked it in my google bookmarks.
Hi there, just was alert to your blog via Google, and found that
it’s really informative. I’m going to watch out for brussels.
I will appreciate when you continue this in
future. Lots of people will likely be benefited from your writing.
Cheers!