Вход

View Full Version : Защита админки/модулей и т.д. с помощью .htaccess


Master
05.05.2005, 21:52
Защита админки паролем через .htaccess необходима для увеличения безопасности Вашей ***-nuke.
1) Положите в файл .htaccess следующие строки

<Files ~ "\admin.php$">
AuthType Basic
AuthUserFile /home/логин/.htpasswds/директория/passwd
AuthName "Admin centerX"
require valid-user
</Files>

Защита файла config.php

<Files ~ "\config.php$">
deny from all
</Files>

2) Файл указанный в AuthUserFile (указывайте полный путь) должен содержать логин/пароль.
Если у Вас нет cpanel, то обратитесь к хостеру что бы узнать как создать такой файл.
Достаточно простой способ это реализовать если у Вас есть на хостинге cpanel (у нас на хостинге есть, присоединяйтесь)
Через cpanel Вы устанавливаете пароль на доступ к папке "директория". После этого заходите в эту директорию, смотрите там значение переменной AuthUserFile и копируете его в Ваш файл .htaccess находящийся в корне.

Во все директории (с модулями, блоками например) где нет необходимости оставлять прямой доступ к скриптам следует положить файл .htaccess следующего содержания

<Files ~ "\.php$">
deny from all
</Files>
<FilesMatch "copyright\.php">
allow from all
</FilesMatch>

Это защитит Ваши скрипты от "прямого" вызова (часть дыр в модулях связана именно с прямым вызовом скриптов). И одновременно разрешит пользователям видеть копирайты.
Замечание: эта часть защиты уже выполнена в нашем релизе. Но при добавлении новых модулей имеет смысл сделать эти шаги.
3) Для защиты админки форума, в папку форума modules/Forums/admin положить .htaccess следующего содержания

<Files ~ "\.php$">
AuthType Basic
AuthUserFile /home/логин/.htpasswds/директория/passwd
AuthName "Admin center3"
require valid-user
</Files>

Vek
22.01.2006, 14:33
а куда этот файл вставлять?

Soniks
25.01.2006, 19:09
Vek в корень сайта

uzalbert
12.02.2006, 03:04
Как можно защитить mainfile.php с помощью .htaccess. Если можно по подробнее. Спасибо!

Да еще, Вы не могли бы подскозать как защитить каталог backup средствами сервера ( с помощью файлов .htaccess и .htpassword).

BriaN
12.02.2006, 13:14
в папку backup кидаешь htaccess со следующим кодом:

<Files ~ "\.$">
AuthType Basic
AuthUserFile /home/логин/.htpasswds/директория/passwd
AuthName "Admin centerX"
require valid-user
</Files>

Насчёт mainfile.php так же само, тока не пойму зачем это делать, ну да ладно:

Кидаешь данный код в htaccess в главной дериктории

<Files ~ "\mainfile.php$">
deny from all
</Files>

uzalbert
13.02.2006, 16:46
Спасибо за Ваши ответы! Модуль FAQ у меня зделанно как главная страничка, но когда закрываю доступ на прямую к файлу "Главная" страница не грузится. Приходится в модуле "FAQ" разрешать прямой доступ к index.php тогда страничка "Главная"грузится. К остальным файлам прямой доступ запрещен, исключение modules\Forums\admin\... Вы не могли бы мне ответить на такой вопрос, через модуль FAQ могут взломать сайт и как зделать так что бы запретить прямой вызов файлов к модулю FAQ, но что бы главная страничка грузилась? Да еще у меня PHP-Nuke 7.9 Shkurki, я закрыл прямой доступ к модулю NukeSentinel, не отразиться на работу этого модуля? Заранее благодарю.

Soniks
13.02.2006, 18:44
uzalbert прямой вызов и так запрящен, просто записью в htaccess deny from all вы запрещаете обращение к любым файлам папки в которую помещен данный файл и запрещяется это только для обращения со стороны клиента, а сам сервер обращаеться к файлам и ни какой запрет на это не действует, только если права на файл выставить соответствующие (чтение, запись, выполнение).

Korben
30.07.2008, 10:11
Подскажите, пожалуйста, в чём может быть подвох.
Составляю .htaccess, кладу в корневую папку сайта, чтобы защитить админку.
Код такой:

<Files ~ "admin.php$">
AuthName "Administration Zone"
AuthType Basic
AuthUserFile ...../.htpasswd (путь правильный, от корня, апач файл находит)
require valid-user
</Files>


при вызове админки из адресной строки, никаких изменений - т.е. она как была доступна, так доступна и осталась, пароль не спрашивается.

Если заменяю код на:

<Files ~ "admin.php$">
deny from all
</Files>


, то админка недоступна.
Т.е. инструкция по файлу обрабатывается.
Опять же, если оставляю:

AuthName "Administration Zone"
AuthType Basic
AuthUserFile ...../.htpasswd
require valid-user

то при вызове любого файла из папки, запрашивается пароль.

Где подвох? Почему по отдельности всё работает, а вместе никак не хочет??
Помогите пожалуйста,
Заранее спасибо.