Joomla портал
seo seo Subscribe
seo
0
seo

Создание собственных модулей для PHP-Nuke

97

II Определяем глобальные переменные

global $db, $prefix;

Запрос к базе данных осуществляется с помощью метода sqiquery о

объекта $db:

$res = $db->sql_query()

Для обработки строки результата предназначен метод sqif etchrow ().

Листинг 7.3 содержит небольшой пример, выводящий названия пяти последних

статей из таблицы $prefix_stories.

while ($row = $db->sql_fetchrow($res)) {

$art_id = $row[,sid'];

$t = $row['title'];

echo «
«;

echo «

href=\,,modules.php?name=News&file=article&sid=$art_id\»>$t«;

}

Как видите, ничего сложного в создании модулей нет.

5?

Глава 8 ^J»"^S»*

Проблема безопасности

и защита PHP-Nuke

8.1. Безопасен ли PHP-Nuke?

Наверное, все мы хоть раз слышали о небезопасности PHP-Nuke. С одной

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

исчезает при правильной настройке этой CMS.

В данной главе мы рассмотрим рекомендации по защите PHP-Nuke.

Большинство рекомендаций сможет выполнить любой пользователь (даже самый

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

хостинг-провайдера, поскольку вы не сможете выполнить настройку, если у

вас нет доступа к консоли Web-сервера.

Следуя рекомендациям из данной главы, вы сможете максимально защитить

PHP-Nuke.

8.2. Переименование файла admin.php

Файл admin.php используется для входа в панель управления сайтом.

Большинство атак направлено именно на этот файл. Вам нужно переименовать

этот файл так, чтобы новое имя знали только вы.

После того как вы переименуете этот файл (пусть новое название будет od-

min.php), откройте config.php (это основной файл конфигурации PHP-Nuke).

В нем нужно прописать новое имя файла администрирования:

$admin_file = «odmin»;

Обратите внимание: в переменной $admin_fiie нужно указать имя нового

файла администрирования без расширения php.

fnaea 8. Проблема безопасности и защита PHP-Nuke ??_

8.3. Защита файла администрирования

от прямого обращения извне

Откройте ваш файл администрирования (по умолчанию admin.php, но вы

ведь переименовали его) и раскомментируйте следующие строки:

$domainname = «www. yourdomainname. com» ;

if ($_SERVER[' SERVER_NAME' ] != $domainname ) {

echo «Access denied»;

die О ;

}

Понятно, что вместо www.yourdomainname.com нужно указать ваше доменное

имя.

Если у вас постоянный IP-адрес, то можно добавить в ваш файл

администрирования следующий фрагмент кода (сразу после вышеприведенного

фрагмента):

if($_SERVER[,REMOTE_ADDRl]!==»ваш_1Р_адрес») {

echo «Access denied»;

die();

}

8.4. Ограничение доступа

к файлу администрирования средствами

Web-сервера

При входе в панель администрирования CMS запрашивает имя пользователя

и пароль. Мы можем создать еще один барьер для злоумышленника, заставив

Web-сервер запрашивать имя пользователя и пароль перед вызовом файла

администрирования.

Работать все будет вот так. Как только пользователь запрашивает файл

администрирования, Web-сервер выводит окно входа в зону администрирования

(Рис. 8.1). Пользователь должен ввести имя пользователя и пароль. Если

введенные данные окажутся верными, то Web-сервер запустит сценарий

администрирования и пользователь увидит привычную форму входа в панель

Управления сайтом.

100

Часть II. PHP-Nuke

Рис. 8.1. Вход в зону администрирования

Сразу предупреждаю: вам понадобится помощь вашего хостинг-провайдера,

если у вас нет SSH-доступа к вашему хостингу. Если же у вас есть SSH-

доступ, то вы можете вводить команды, зарегистрировавшись по SSH на

сервер, поэтому можно не беспокоить хостинг-провайдера. Доступ к консоли

сервера (по SSH, no telnet) нужен для ввода команд. Точнее, нам нужно

ввести всего одну команду— htpasswd для создания паролей для зоны

администрирования сайты. Но обо всем по порядку.

Первым делом нужно создать файл .htaccess (обратите* внимание на точку в

начале имени файла и на регистр символов) и поместить его в один каталог с

вашим файлом администрирования.

seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo