Наши скрипты > Модификации

AUTH-MOD Sanitarium Security Solution ;)

(1/4) > >>

Green Kakadu:
Уже можно скачать мод для паролирования Sanitarium WebLoG.
Проверялся он под IE с включеными cookies (это намек на то, что в NN, Mozilla, Opera он не проверялся) :)
куки надо включить обязательно (через них передается ID и время сессии).
МОД запускается оч. легко.
Скачать можно тут (ээ еще в уголке Sanitarium не оформили соотв. образом, поэтому пока линк только на форуме):
 http://webscript.ru/sanitarium/auth.zip  ;)

А вот readme (оно есть в комплектации к моду в auth.zip, ну не все же качать будут)
===============================
***AUTH-MOD***
----------------------------------------------------
Auth-mod - система безопасности Sanitarium WebloG
Автор: Green Kakadu (gnezdo@webscript.ru)
Форум/Тех.Поддержка: http://forums.webscript.ru
Copyright 2002 WebScript.Ru Network ( http://webscript.ru )

------------------------------------------------------
Описание: Данный мод (auth-mod) обеспечивает некоторую иллюзию безопасности
 для тех, у кого нет воз-ти использовать .htaccess для паролирования доступа к
системе веб-публикаций Sanitarium WebLoG (http://webscript.ru/sanitarium).
Скачать данный мод (и саму систему публикаций) можно отсюда:
http://webscript.ru/sanitarium


Инструкция по установке:
-------------------------------------------------------
Паролировать нужно три файла: com_admin.cgi, admin.cgi и upload.cgi
Все нижеописанное - это повторяющиеся однотипные (почти) замены для каждого из этих файлов.
Принцип таков:
- подключаем библиотеку auth.pl (require "auth.pl")
- прописываем в начале "созидательной" части скрипта строки,
 заставляющие его проверять личность админа и только после этого выполнять.

Не пугайтесь (по началу кажется, что править много и это несколько угнетает),
 все на самом деле быстро и легко делается. Приступим.


1 Редактируем файл admin.cgi
-------------------------------------------------------
1.1 После строк (в начале файла):

require "cfg.cfg";
require "Sanitarium_WL.pm";
require "lang.pl";#это строка ~36

вставить строку:
require "auth.pl";

1.2. В том же файле (admin.cgi) После:

sub main {
#--------------------------------------------------------------  
$script_admin||=$ENV{\'SCRIPT_NAME\'};
if ($ENV{\'REQUEST_METHOD\'}){%in=&parse_form;}

добавить строки:

if ($in{\'login\'}){&check_login($in{\'pass\'});}
else {&check_user;}

ИСПРАВЛЕНО!

2 Редактируем com_admin.cgi
--------------------------------------------------------------
2.1. После строк:

require "Sanitarium_WL.pm";
require "Comment_WL.pm";
require "lang.pl";
require "cfg.cfg";# это строка ~22

добавляем строчку:
require "auth.pl";

2.2. В самом начале sub main, находим строку:
if ($ENV{\'REQUEST_METHOD\'}){%in=&parse_form;}

после нее добавляем:

if ($in{\'login\'}){&check_login($in{\'pass\'});}
else {&check_user;}

ИСПРАВЛЕНО!

3. Редактируем upload.cgi
---------------------------------------------------------------
3.1 Находим в начале файла строки (20-21):
require "cfg.cfg";
require "lang.pl";

Меняем их на:

require "cfg.cfg";
require "lang.pl";
require "auth.pl";

3.2 Находим строки:

sub main {
#-------------------------------------------------------------------
$obj = new CGI;

После этого помещаем это:
if ($obj->param(\'login\')){&check_login($obj->param(\'pass\'));}
else {&check_user;}

3.3. По желанию. Можно поставить лимит на максимальный размер загружаемых файлов (в байтах),
переменная $size_limit=0;
Например:
my $size_limit=100*1024;#100кб
my $size_limit=50*1024;#50 кб

В целом, имеет смысл поставить это ограничение - на всякий случай..

----------------------------------------------------------------
4. Настраиваем auth.pl

Находим строку (15-я строка):

my $password=\'GKydljZ1x/Jv.\';

и вписываем вместо GKydljZ1x/Jv. (это соответствует паролю admin) свой ЗАШИФРОВАННЫЙ пароль.
Как и где шифровать?
Есть два варианта:

  1 Заходите сюда: http://webscript.ru/cgi-bin/sanitarium/password.cgi
    вводите свое слово, потом списываете пароль

  2 Или генерируете это сами, для этого надо всего лишь запустить скрипт:

#!/usr/bin/perl
print "Content-type: text/html\\n\\n";
print crypt(\'ваше слово-пароль из английских букв/цифр\', \'GK\');

Все. auth.pl кидаете в ту же папку, где лежит admin.cgi. Устанавливаете права 666 или 660
должно работать.


=================================================================
Советы, Рекомендации
=================================================================

1. Если есть возможность поставить пароль на всю папку, используя .htaccess, то, не задумываясь
 ставьте, auth-mod предоставляет намного худший вариант защиты,
 чем отработанная серверная технология с использованием .htaccess

Кроме того, auth-mod вносит дополнительную нагрузку на сервер (и увеличивает время выполнения скрипта),
 так как при каждом вашем тычке, скрипт вместо того, чтоб выполнять то, что от него требуется,
 будет пытаться идентифицировать вас:
 посмотрит cookies, проверит время, проверит ID сессии, обновит время, сгенерирует новый ID
 сесии, сохранит это, пошлет cookies вам, и лишь после этого :)
 будет делать то, что вы от него хотите.
--

2. Пароль обратно не расшифровывается :) Поэтому, если забудете, то придется вам сгенерировать
 и вписать в auth.pl новый пароль.
--

3. Ваш броузер должен принимать cookies
--

4. Время одной сессии 2 часа (по умолчанию). Т.е. если вы вошли,два часа
ничего в Админ.Центре не делаете,  то потом, когда вдруг всполошитесь и начнете делать,
придется входить по новой.

Данный лимит времени (время ожидания) можно уменьшить/увеличить, если вас не устраивают 2 часа.
Делается так:
строка 23: $time_limit= 2*3600;
меняем на свое значение, например 3*3600 - 3 часа (в секундах)
Увеличивать время ожидания не рекомендуется.
--

5. В АдминЦентре может находиться ТОЛЬКО 1 человек. Такая вот система безопасности :)
Вдвоем там работать невозможно, даже если у вас один пароль (а он и будет один) ;)
--

6. Если кто-то найдет серьезные огрехи и дыры в данной системе безопасности,
 сообщите пожалуйста об этом: gnezdo@webscript.ru
--

7. Со всеми вопросами, пожеланиями, предложениями идете на.. наш форум:
http://forums.webscript.ru


--
Администрация WebScript.Ru Network

Paranoix:
а у меня не работает! я ввожу пароль и попадаю на форму, спрашивающую пароль. Незнаю... у меня не стоит Update2.

Green Kakadu:

--- Цитировать ---я ввожу пароль и попадаю на форму, спрашивающую пароль.
--- Конец цитаты ---

1. правильно ли прописан зашифрованный пароль в auth.pl (рекомендую сначала поставить все по умолчанию, т.е. не менять там пароль - для логина вводите admin)

2. куки включены?

3. что за хостинг?

:) у меня работает исправно.

alexxmfk:
Меня тоже не пускает. Даже когда оставляю пароль по умолчанию.

Green Kakadu:
похоже, пускает только меня - посмотрю с чего это

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии