Перейти к контенту
  • 0

Как отнести админку в другую папку?


M-K

Вопрос

Как отнести админку в другую папку?

 

Как закрепить защиту от хакерских сканировалок директорий? Типа xspider

 

Насколько это имеет смысл?

 

Не будет ли излишних трудностей, при последующем модифицировании форума?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Лучше от паучка не защищаться, а самому им просканить.

 

И вообще - есть получше тулза - Acunetix Web Vulnerable Scanner

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Как защитить форум от взлома?

 

от черт, был пост от Vanix не могу найти, именно по переносу админки в другую папку

 

надыбал в архивах записей

 

Ладно попробуем такой метод профилактики взломов. 100% безопасности не дает, однако в некоторой степени можно определить как ломают. Через админку или как то по другому, например через дыру у хостера...

 

Идея заключается в убирании admin.php из корня форума в какую либо директорию и защита этой диретории .htaccess

Итак приступим:

К примеру созадим еще одну директорию на сервере, пусть она будет называться acp (желательно что бы вы придумали что-то свое)

Переносим (не копируем, а именно переносим) файл admin.php из корневой директории в acp. Закрываем директорию, от посторонних. Для этого в директоию acp поместим файл .htaccess со следующим содержанием:

 

Код

 

AuthName "Restricted Forum Administrator Area"

AuthType Basic

AuthUserFile "/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

Dekker, огромное спасибо!

 

Destruction, спасибо за наводку :D буду на себе и не только на себе тестить то, от чего сам буду защищаться.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.