M-K Опубликовано 25 Декабря 2006 Жалоба Поделиться Опубликовано 25 Декабря 2006 Как отнести админку в другую папку? Как закрепить защиту от хакерских сканировалок директорий? Типа xspider Насколько это имеет смысл? Не будет ли излишних трудностей, при последующем модифицировании форума? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Destruction Опубликовано 26 Декабря 2006 Жалоба Поделиться Опубликовано 26 Декабря 2006 Лучше от паучка не защищаться, а самому им просканить. И вообще - есть получше тулза - Acunetix Web Vulnerable Scanner Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Dekker Опубликовано 26 Декабря 2006 Жалоба Поделиться Опубликовано 26 Декабря 2006 Как защитить форум от взлома? от черт, был пост от Vanix не могу найти, именно по переносу админки в другую папку надыбал в архивах записей Ладно попробуем такой метод профилактики взломов. 100% безопасности не дает, однако в некоторой степени можно определить как ломают. Через админку или как то по другому, например через дыру у хостера... Идея заключается в убирании admin.php из корня форума в какую либо директорию и защита этой диретории .htaccessИтак приступим:К примеру созадим еще одну директорию на сервере, пусть она будет называться acp (желательно что бы вы придумали что-то свое)Переносим (не копируем, а именно переносим) файл admin.php из корневой директории в acp. Закрываем директорию, от посторонних. Для этого в директоию acp поместим файл .htaccess со следующим содержанием: Код AuthName "Restricted Forum Administrator Area"AuthType BasicAuthUserFile "/pub/home/login/htdocs/clousearea/.htpasswd"<Files *.*>require valid-user</Files> Внимание: в директиве AuthUserFile "/pub/home/login/htdocs/clousearea/.htpasswd" нужно поставить свой путь для файла паролей. Важно что бы файл паролей не был виден извне, т.е. не должен находится в public_html Теперь начинаем осуществлять изменения в файлах:Файл ../acp/admin.php:Ищем: Код define( 'ROOT_PATH', './' ); меняем на Код define( 'ROOT_PATH', '../' ); ниже будет строчка Код $ADMIN->html .= "<tr><td id='tdrow1'><meta http-equiv='refresh' content='2; url=".$INFO['board_url']."/admin.".$INFO['php_ext']."?adsess=".$IN['AD_SESS']."'><a href='".$INFO['board_url']."/admin.".$INFO['php_ext']."?adsess=".$IN['AD_SESS']."'>( Click here if you do not wish to wait )</a></td></tr>"; заменим ее на Код $ADMIN->html .= "<tr><td id='tdrow1'><meta http-equiv='refresh' content='2; url=".$INFO['board_url']."/rcp/admin.".$INFO['php_ext']."?adsess=".$IN['AD_SESS']."'><a href='".$INFO['board_url']."/rcp/admin.".$INFO['php_ext']."?adsess=".$IN['AD_SESS']."'>( Click here if you do not wish to wait )</a></td></tr>"; Файл ../sources/Admin/admin_functions.phpИщем: Код $this->base_url = $INFO['board_url']."/admin.".$INFO['php_ext']."?adsess=".$IN['AD_SESS']; меняем на Код $this->base_url = $INFO['board_url']."/acp/admin.".$INFO['php_ext']."?adsess=".$IN['AD_SESS']; Аналогичные действия осуществляем в файле ../sources/Admin/admin_skin.php Теперь доступ к вашей админке будет по адресу http://www.yoursite.com/forum/acp/admin.php при этом система еще будет запрашивать авторизацию. Тут еще подумал что вместо admin.php в корне можно положить логгер какой нибудь. Будет выглядить как обычная форма доступа к админке, но вместо того что бы авторизировать пользователя и пускать его в админку, будет записывать кто, когда и как пытался залогинится. попробуй в /sources/lib/emailer.php заменить function get_template($name="", $language="") { global $ibforums, $IB, $DB; на function get_template($name="", $language="") { global $ibforums, $IB, $DB, $root_path; и if (! file_exists("./lang/\$language/email_content.php") ){ require "./lang/".$ibforums->vars['default_language']."/email_content.php";}else{ require "./lang/\$language/email_content.php";} на $root_path=($root_path)?$root_path:ROOT_PATH; if (! file_exists($root_path."/lang/\$language/email_content.php") ){ require $root_path."/lang/".$ibforums->vars['default_language']."/email_conten}else{ require $root_path."/lang/\$language/email_content.php";} QUOTE Warning: opendir(./style_images): failed to open dir: No such file or directory in /home/mysite/public_html/forum/sources/Admin/ad_stylesets.php on line 629 У кого такие ошибки (с именами каталогов типа ./блаблабла) - придётся вручную отредактировать соответствующие файлы в sources/Admin - дело в том, что там не везде используется константа ROOT_PATH, кое-где прямо в тексте написано ./ (а после переноса админки это должно превращаться в ../ ). Это, конечно, неправильно, но придётся ручками... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 M-K Опубликовано 27 Декабря 2006 Автор Жалоба Поделиться Опубликовано 27 Декабря 2006 Dekker, огромное спасибо! Destruction, спасибо за наводку буду на себе и не только на себе тестить то, от чего сам буду защищаться. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
M-K
Как отнести админку в другую папку?
Как закрепить защиту от хакерских сканировалок директорий? Типа xspider
Насколько это имеет смысл?
Не будет ли излишних трудностей, при последующем модифицировании форума?
Ссылка на комментарий
Поделиться на других сайтах
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.