Connection intitle datalife engine панель управления. Установка DLE

20.12.14 7.7K

«Темные лошадки» попадаются не только среди людей, но и среди CMS . Одной из таких «лошадок » является DLE .

Если о других движках на php в интернете очень много информации, то об этой CMS можно найти лишь несколько достойных материалов. Сделаем достойной и эту статью, поведав читателям о том, как установить шаблон на DLE :

Известное о неизвестной CMS

Этот движок не столь популярен в мировом интернете, как WordPress или Joomla . Он является творением русских программистов. Поэтому наткнуться на сайт, работающий на данной CMS и шаблоне для DLE , можно чаще всего в Рунете.

CMS DLE позиционируется создателями как основа для развертывания информационных порталов и блогов. Внутренняя система движка адаптирована под большие нагрузки и обладает высокой степенью отказоустойчивости:


Как и большинство движков, DLE (DataLife Engine ) работает на основе php и MySQL . Основным минусом этой системы управления контентом является ее платность. Несмотря на это DLE занимает четвертую позицию по распространенности среди ресурсов, находящихся в зоне ru. Хотя их большая часть (59 тысяч сайтов ) используют пиратские версии движка.

Лицензия на базовую комплектацию CMS сроком на 1 год стоит 2190 руб. Ее продление на второй год (и последующие) обойдется в 1490 руб. Цена расширенной версии составляет 2790 рублей.

Кроме платных версий существует и бесплатная. Такой вариант CMS преподносится производителем, как пробная версия движка и основа для создания своего первого сайта:


Самым главным недостатком DLE является слабая защищенность. Еще в 2008 году эксперты критиковали CMS за низкую безопасность ее внутренней системы при работе с запросами. Скорее всего, эта проблема не устранена и сегодня.

По аналитическим данным Яндекса за 2011 год, чаще всего зараженными оказываются сайты, работающие именно на основе CMS DLE . Последним выпуском движка на данный момент является версия 10.3. Она вышла в сентябре 2014 года.

Особенности шаблона для DLE

Шаблоны для сайтов DLE обладают рядом особенностей, которые кардинально отличают эту CMS от других систем управления контентом:

  • Структура шаблонов движка построена на основе файлов TPL . Это во многом облегчает процесс верстки и адаптации дизайна шаблона;
  • Основным файлом структуры является main.tpl . Все дополнительные элементы шаблона (меню, боковая панель ) также задаются с помощью файлов TPL ;
  • Стилевые решения прописаны в двух файлах: в engine.css заданы стили для программной части, а в style.css – все остальное:
Перед тем, как установить шаблон DLE , скачиваем его инсталляционный пакет и размещаем в папке templates :
Затем нужно зайти в панель управления сайта (файл admin.php ). После этого в меню с левой стороны выбрать пункт «Настройки скрипта », «Настройки системы »:
Внизу в разделе «Общие настройки » перейти в пункт «Шаблон сайта по умолчанию ». В выпадающем списке выбрать нужный шаблон. После внесения изменений не забудьте нажать кнопку «Сохранить »:
После этого новый шаблон активируется, и сайт поменяет свой внешний вид. Но перед тем как поставить шаблон на DLE , не забудьте его разархивировать.

В CMS DLE в отличие от других популярных систем управления контентом установка шаблона происходит не из архива.


К сожалению, большинство из шаблонов под DLE , как и сам движок, являются платными. Но если хорошо поискать, то в Рунете можно найти парочку достойных ресурсов, где можно скачать шаблоны бесплатно. Вот несколько из них:
  • dle-shablony.net – здесь для бесплатного скачивания представлено около 50 разнообразных шаблонов. Но все они «свалены » в одном общем разделе без сортировки по категориям. Хотя среди них можно обнаружить и совсем уж «клубничные » экземпляры:
  • newtemplates.ru – на сайте представлена большая коллекция платных и бесплатных шаблонов. Все они удобно рассортированы по тематическим рубрикам. Но даже среди платных можно найти образцы стоимостью в 5-10$ и тиражом всего лишь в 5 экземпляров. А это обеспечит ресурсу дизайн с достаточно высокой степенью уникальности!
  • 10.dle-shabloni.ru – крутой ресурс с огромной коллекцией шаблонов для сайтов DLE . Отыскать среди них нужные по тематике или даже по цвету помогут теги. Посмотреть на работу шаблона можно с помощью встроенной демоверсии или в ролике, проигрываемом в окне видеоплеера Youtube:

Не забывайте, что каждый шаблон разрабатывался под определенную версию CMS DLE. Их соответствие нужно проверять перед скачиванием выбранного образца.

Как редактировать шаблон DLE

В отличие от других популярных систем управления контента DLE обладает более простой схемой построения шаблонов. Благодаря этому их правка происходит намного быстрее и проще. В состав инструментария административной части движка входит интегрированный редактор кода.

Для доступа к данному инструменту нужно:

  • Перейти в админку сайта;
  • В меню слева выбрать пункт «Управление шаблонами », «Шаблоны сайта »;
  • В выпадающем списке, расположенном в поле «Выбранный шаблон для редактирования » установить нужный экземпляр и нажать на кнопку «Выполнить »:

Здравствуйте. Данный топик хочу посветить созданию простейшего модуля для популярной CMS Datalife Engine . В России, как впрочем и в странах СНГ она пользуется достаточно большой популярностью, однако на хабре статей об этой cms почему-то до сих пор нету. Я попытаюсь исправить это недоразумение. В этой статье вы узнаете о том, как сделать простейший модуль для этой CMS, а также познакомитесь со структурой движка.

Введение

Хотелось бы отметить, что система пользуется спросом у сайтов развлекательной тематики. Оно и понятно, система проста в использовании, имеет достаточное количество модулей и шаблонов. Да и почти все нужное есть «из коробки». Однако бывает, что чего-нибудь не хватает. Эту проблему мы постараемся решить.

Почему DLE?

Вы наверняка заинтересуетесь, почему я выбрал именно эту CMS. Ответ простой: достаточно логичная структура самого движка, отделение шаблонов от кода, довольно простой шаблонизатор, опять же довольно логичное размещение всего внутри - легко разобраться что к чему. Плюс к этому система остается относительно легкой и удобной. Она не так функциональна как, например, Друпал, но все же мне она нравится.

Структура

Для начала нам нужно знать кое-что о структуре движка. Нельзя творить на сервере бардак, поэтому мы будем хранить все в своих папках.

Модули для работы движка принято помещать в папку /engine/modules/ .

В папке /engine/inc/ находятся файлы панели администратора.

Начиная с версии 8.х появилось подключать модули прямо в шаблоне. Шаблон находится в папке /templates/имя_шаблона/. В этой папке есть файл main.tpl Это корневой файл шаблона, обычно в нем расположена основная структура шаблона. Обычно модуль можно подключить так:

{include file=«engine/modules/mod_category.php»}

Где mod_category.php – файл, находящийся в категории /engine/modules/. Думаю с этим все понятно, поехали дальше.

Давайте сделаем модуль для вывода последних комментариев с кэшированием. Для этого создадим файл в папке /engine/modules/ и назовем его mod_lastcomm.php Далее я привожу листинг кода этого файла с подробными комментариями.

Код

DATALIFEENGINE". Эта константа определяется в index.php и ее значение TRUE символизирует о том, что файл подключен с помощью include/require, а не просто запущен. */ if(!defined("DATALIFEENGINE")) { die("Hacking attempt!"); } /* Подключаем класс api, для того чтобы нам можно было использовать функции для работы с кэшем. */ include ("engine/api/api.class.php"); /* Пытаемся прочетать информацию, сохраненную в кэше с именем lastcomm. Рекомендую давать осмысленные имена всему тому, что мы сохраняем в кэше. По сути lastcomm – это файл в папке /engine/cache/, а 60 – это время жизни кэша в секундах. В данном случае, если с создания файла прошло больше времени, чем 60 секунд, то нам снова придется лезть в бд. */ $lastcomm=$dle_api->load_from_cache("lastcomm", 60); /* Проверяем – есть у нас кэш или нету. Если нету, то лезем в бд. */ if (!$lastcomm) { /* Собственно запрос в бд. Он выполняется с помощью функции класса $db. Константа PREFIX содержит префикс, указанный при установки cms. Названия столбцов названы вполне нормально, я думаю не нужно объяснять что они делают. Индефикатор запроса заносим в переменную $sql. */ $sql = $db->query("SELECT comments.post_id, comments.text, comments.autor, post.id, post.flag, post.category, post.date as newsdate, post.title, post.alt_name FROM " . PREFIX . "_comments as comments, " . PREFIX . "_post as post WHERE post.id=comments.post_id ORDER BY comments.date DESC LIMIT 0,20"); /* С помощью функции get_row() класса $db считываем последовательно каждую строку из результатов выборки. Информация заносится в массив $row с индексами равными именам полей таблиц */ while ($row = $db->get_row($sql)) { /* Если нужно обрезаем заголовок новости */ if (strlen($row["title"]) > 50) { $title = substr($row["title"], 0, 50)."..."; } else { $title = $row["title"]; } /* Формируем ссылку на профиль пользователя. Аналогично */ $aname=urlencode($row["autor"]); $name= "". $row["autor"] .""; /* Формируем текст комментария и если надо обрезаем его */ $text = htmlspecialchars($row["text"]); if (strlen($text) > 1024) $text= substr($text, 0, 1024)."..."; /* Формируем ссылку на новость. Массив $config содержит все настройки системы. В частности $config["http_home_url"] - это урл домена. */ $newslink = $config["http_home_url"].$row["post_id"]."-".$row["alt_name"].".html"; $hint = "onMouseover=\"showhint("$text", this, event, "");\""; $title = "".stripslashes($title).""; /* Итоговая запись для одного комментария */ $lastcomm.="От $name в новости:
$title

"; } $db->free(); /* Кэшируем полученные данные. Чтобы получше разобраться с функциями кэширования, откройте файл "engine/api/api.class.php" там отлично все закомментировано */ $dle_api->save_to_cache ("lastcomm", $lastcomm); } /* Выводим полученный результат */ echo $lastcomm; ?>

Заключение

Данный код полностью рабочий. И в нем конечно же есть недостатки. Например не проверяется для ссылок - включено ли ЧПУ. Или при переходе по ссылке на профиль пользователя мы попадаем сразу в его профиль, а не на окошечко jQuery с краткой информацией. Вообщем есть что доработать. Но все эти вещи не были включены сюда только по одной причине - не дать запутаться новичку. Также советую проанализировать другие файлы, например topnews.php. Если у вас возникнут вопросы по написанию модулей или вообще по системе - я с радостью отвечу на них.

На этом у меня все, если эта тема кому-нибудь покажется интересной, то я сделаю цикл статей про cms Datalide Engine (DLE).

Ах да, это моя первая статья на хабре, поэтому извините если что не так.

На сайт всегда можно найти самые новые релизы движка DataLife Engine. Выбирайте разные - зануленные и лицензированные версии cms DLE, CP1251 или UTF-8, все самое свежее прямо с dle-news. Например новый DataLife Engine 13.0 Final и nulled DLE 13.0 вы можете скачать без регистрации бесплатно, и по прямой ссылке.
сайт всегда первыми предлагает самые свежие релизы!

DataLife Engine 13.0 Final и nulled DLE 13.0 бесплатно

Начинаем работу с новой Datalife Engine: как все на самом деле просто!

Многие слышали о такой CMS, как Datalife Engine. И уж точно не меньше людей слышали о ее очевидных плюсах. О функциональности. О поддержке MySQL и ее расширений. И, конечно, о том, как удобна Datalife Engine и для пользователей и для тех, кто занимается администрированием веб сайтов.
Многие люди захотели испытать все прелести, и пробовали скачать DLE. Но, увы, бесплатно можно попробовать только тестовую версию, тогда как оценивать все преимущества CMS 13.0 можно только с лицензией. Кстати, нежелательно использовать нелегальный софт. Это может навредить сайту, созданному на DLE, и его владельцам. Рисковать нет смысла вовсе – стоимость слегка превышает сто долларов. По этому не стоит качать dle с торрента. Намного проще скачать у нас, попробовать и потом решить - взламывать cms, или купить лицензию.

Как действовать если вы решили протестировать этот замечательный движок?

Порядок действий очень прост, но имеет свои нюансы:
распаковка на сервер в папку сайта;
поддержка сервером PHP 5.0;
сервер с адекватным трафиком;
пространство на диске объемом 20 Мб.
Если веб сайт установлен на локальном терминале, то сюда необходимо установить специальное ПО, играющее роль сервера. Лучший вариант для этого – Apache или Denwer.
Предполагается наличие MySQL, где создается база данных так, чтобы последняя обладала полным доступом. Права назначаются и нескольким папкам, о которых подробнее желательно посмотреть в инструкции. Внутри папок находятся другие папки, и им потребуются права записи CHMOD 777. Внутренние файлы должны обладать CHMOD 666.
Программа запускается посредством использования абсолютно любого браузера. В его строке прописывается следующий адрес install.php. Далее последуют установочные рекомендации. Вводим логин/пароль.
Когда инсталляция завершилась, install.php удаляется из директории, равно как содержимое upgrade. Для чего нужно это действие? Без удаления каждый запуск интернет-ресурса будет начинаться с установки DLE Nulled 13.0, которой вы пользуетесь. Доступ к CMS осуществляется с помощью url, который показан в инструкции. Этот «урл» ведет непосредственно в панель администратора.

Что получат визитеры сайта?

Они смогут регистрироваться быстро, смогут сразу добавлять комментарии. Большой плюс системы – внесение новостей самими «юзерами». После регистрации начинает формироваться рейтинг профиля «юзера».
Новости можно удалять или редактировать, фото в профилях – менять, забытые или утерянные учетные данные восстанавливать. Возможности очень серьезные. «Админы» получат не меньший функционал. Они могут делать все, что и «юзеры», включая управление профилями последних.
Словом, CMS DLE– это достаточно простая система, которая ни от кого не потребует быть гуру веб-программирования. Простой пользователь сможет легко создавать собственный сайт с множеством замечательных функций. А поклонников этой системы управления ждет скорый выход версии 13.1. Пока о ней ничего толком не известно, так как только вышел прес релиз 13.0, но релиза ждут многие.
Как только состоится выход в свет, мы обязательно сделаем обзор. А пока что оставайтесь с нами и читайте что нового ввел Celsoft в версию 13.0:


К вашему вниманию представлена DLE 13.0, скачаная с офф. сайта , которая без активации будет демо версией. Но специально для вас был подготовлен который сделает с демо - лицензию. Но мы предлагаем это, только в ознакомительных целях! И как всегда DLE 13.0 nulled - которая отличается от оригинальной версией тем, что мы декодировали и удалили код который просит ключ в файлах - \engine\inc\include\init.php и \engine\inc\include\functions.inc.php, никаких других правок кода не проводилось! Администраторы сайт напоминают, что предлагают nulled версию и keygen - только для ознакомления со всеми возможностями скрипта, и просим после изучения все таки купить лицензию . Мы купили лицензию для портала сайт и настоятельно рекоммендуем Вам сделать так же!

Приветствую всех, кто посвящает этим строкам свое драгоценное время.

В этой статье я хочу рассказать о способах оптимально настроить сервер и систему управления контентом DataLife Engine. За 4 года работы с интернет сайтами и серверами я усвоил, что безопасность превыше удобства и что ей нужно уделять внимание. Оговорка : я не претендую на авторство чьей-либо интеллектуальной собственности! Весь материал собран на просторах интернета.

Ниже будут описаны действия, которые помогут распределить нагрузку сервера, обезопасить его от DOS атак, ограничить доступ к FTP протоколу и правильно сконфигурировать систему DataLife Engine.

Защита и конфигурация вашего сервера.

1. Настройка конфигурации сервера с использованием связки front-end Nginx к Apache.

Преимущества подобной схемы можно понять на небольшом примере. Представьте себе, что вашему веб серверу Apache необходимо обслужить порядка 1000 запросов одновременно, причем многие из них подключены к медленным каналам связи. В случае использования Apache мы получим 1000 процессов httpd, на каждый из которых будет выделена оперативная память, и эта память не освободится до тех пор, пока клиент не получит запрошенный контент.

В случае схемы с применением front-end сервера получим значительную экономию ресурсов за счет того, что после поступления запроса, nginx передает запрос Apache и быстро получает ответ. В итоге, Apache, после того как отдал ответ nginx, освобождает память. Далее с клиентом взаимодействует веб-сервер nginx, который как раз и написан для раздачи статического контента большому количеству клиентов при незначительном потреблении системных ресурсов.

Для корректной работы нашей связки понадобиться модуль для Apache. Возникает такая необходимость по следующей причине: запросы к Apache приходят с IP-адреса, на котором работает nginx, соответственно, в журнальных файлах Apache будет фигурировать только IP-адрес nginx сервера. Также без использования данного модуля начнутся проблемы со скриптами, в которых используется IP-адрес посетителя и перестанет правильно работать механизм ограничения доступа по IP-адресам с помощью.htaccess.

Установка NGINX на популярные ОС.

Red Hat Enterprise Linux 4 / CentOS 4
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов.

Red Hat Enterprise Linux 5 / CentOS 5
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов EPEL.

ASPLinux Server 5 / Fedora
nginx присутствует в стандартной поставке дистрибутива.

Если репозитории подключены или просто не требуются, выполняем: yum install nginx

Установка Apache.

Чтобы установить Apache веб-сервер достаточно выполнить: yum install httpd

Установка mod_rpaf.

1. Устанавливаем пакет httpd-devel:

yum -y install httpd-devel


2. Скачиваем и устанавливаем mod_rpaf:
Входим в директорию /usr/local/src

cd /usr/local/src


Загружаем в /usr/local/src файл mod_rpaf-0.6.tar.gz

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz


Распаковываем mod_rpaf-0.6.tar.gz

tar xzf mod_rpaf-0.6.tar.gz


Переходим в каталог в который распаковали

Ставим модуль в систему

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


3. Далее нужно создать файл конфигурации mod_rpaf - /etc/httpd/conf.d/rpaf.conf и добавить в него следующие строки:


RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


где xx.xx.xx.xx и yy.yy.yy.yy - IP адреса вашего сервера. Если на сервере более двух IP, добавьте их по той же аналогии.

service httpd restart


4. В nginx внутри блока http {} должны быть указаны строки:

proxy_set_header Host $host;


Если данные строки указаны, дописывать не нужно.

Если модифицируется nginx.conf, следует перезапустить nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start


5. Как проверить, работает ли установленный модуль?
На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:

" echo $_SERVER["REMOTE_ADDR"]; ?>"


Далее зайдите по ссылке , где domain.tcom - имя вашего домена. Если отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.

Настройка NGINX.

Ниже приведен конфигурационный файл nginx для работы в качестве front-end сервера. Подразумевается, что nginx будет работать на всех интерфейсах на 80 порту, а Apache будет работать на интерфейсе 127.0.0.1 и порту 8080. Сохраните данный конфигурационный файл в каталоге /etc/nginx/ с именем nginx.conf.

user nginx;
worker_processes 10;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

events {
worker_connections 20000;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] $status "
""$request" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
send_timeout 900;
server_tokens off;
server {
listen 80;
server_name _;
server_name_in_redirect off;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


Настройка Apache.

В файле конфигурации Apache /etc/httpd/conf/httpd.conf найдите строку:

и замените ее строкой:

Listen 127.0.0.1:8080


Настройка mod_rpaf.

Добавьте модуль mod_rpaf в файл конфигурации Apache. Для этого в файл /etc/httpd/conf/httpd.conf добавьте следующую строку:

LoadModule rpaf_module modules/mod_rpaf-2.0.so


Затем в этот же файл добавьте строки:

RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


Вместо 192.168.0.1 необходимо поставить IP-адрес сервера.

2. Конфигурация сервера для защиты от dos-атак.

Включаем в nginx кеширование главной страницы для тех у кого нет cookie.

Добавляем ограничения в nginx.conf:

limit_req_zone $binary_remote_addr zone=two:20m rate=2r/s;
server{
location / {
limit_req zone=two burst=5;
}
}
}


Пользуемся tail и awk:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503


Подключаем лог:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }"


Получаем IP машин:

iptables -A INPUT -p tcp -j DROP -s $IP


Заносим IP в Firewall:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }" | xargs -t -l iptables -A INPUT -p tcp -j DROP –s


Теперь установим connlimit для iptables чтобы ограничить подключения ботов. В правилах ставим разрешение на 5 подключений с одного IP, и 25 из подсети класса С.

DDOS атака с 16000 ботов - Load average: 1.4 1.9 2.0

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

Для этого нам понадобитсья файл.ftpaccess. Он поможет запретить или разрешить доступ по FTP с указанных IP адресов. Кто-то может задать вопрос: «У меня динамический IP, как мне правильно использовать.ftpaccess?» Ответ я подразумеваю только такой: «Если вам нужна данная надстройка безопасности - приобретите у вашего провайдера статический IP. Много денег у вас за него не попросят.»

Чтобы создать.ftpacces файл нам понадобиться SSH доступ. Можно воспользоваться программой winscp. Настроек в.ftpaccess может быть большое множество, однако нас интересует только один параметр. Прописав эти строки в файле вы закроете полностью доступ от всех:

Deny from all


После написанного выше, никто не сможет зайти на ФТП. Для добавления разрешения доступа определенному IP нужно указать следующие параметры:

Allow from 127.0.0.1
Deny from all


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

Важно! Лучше всего запретить доступ по FTP абсолютно всем и подклчаться только по SSH.

Защита системы управления контентом DataLife Engine.

1. Установите и настройте .

2. Переименуйте файл админпанели и сделайте фейк по старому адресу (www.sait.com/admin.php) при переходе на который пользователь будет заблокирован посредством запрета его ip в.htaccess.

Переименовали? Теперь создаем в корневом каталоге файл ip.txt для хранения ip-адресов. Даем ему и.htaccess права CHMOD – 777.

Создаем файл admin.php следующего содержания:


$ip = getenv ("REMOTE_ADDR");

$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER["DOCUMENT_ROOT"] . "/.htaccess", "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

Админ панель DataLife Engine

Текст, например: Твой ip в логах, я найду тебя!

Бойся, ничтожество, ха-ха!

"
3. Добавим дополнительную аутентификацию в админцентре.

Необходимо придумать еще один логин и пароль (не используйте данные вашего административного аккаунта). Второй логин и пароль должен в корне отличаться от первого. Определились? Отлично! Теперь зашифруем наш пароль в md5 (сделать это можно на сайте md5encryption.com).
Далее открываем admin.php (вспомните, ранее мы его переименовали и, по этому, если вы назвали его superadmin.php - вам необходимо открывать именно этот его) и после строки:

добавляем:

$login="вписываем придуманный логин";
$password="и сгенерированный пароль в md5";
if (!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"]!==$login ||
md5($_SERVER["PHP_AUTH_PW"])!==$password) {
header("WWW-Authenticate: Basic realm="Admin Panel"");
header("HTTP/1.0 401 Unauthorized");
exit("Access Denied");}


4. Отключим неиспользуемые системой функции php.

Для поиска файла php.ini создаем файл phpinfo.php с текстом:

После поиска обязательно удалить phpinfo.php!

disable_functions = allow_url_fopen, eval, exec, system, passthru, scandir, popen, shell_exec, proc_open, proc_close, proc_nice, get_current_user, getmyuid, posix_getpwuid, apache_get_modules, virtual, posix_getgrgid, getmyinode, fileowner, filegroup, getmypid, apache_get_version, apache_getenv, apache_note, apache_setenv, disk_free_space, diskfreespace, dl, ini_restore, openlog, syslog, highlight_file, show_source, symlink, disk_total_space, ini_get_all, get_current_user, posix_uname, allow_url_fopen


5. Создаем фильтрацию GET и POST запросов, предотвращаем инъекции в БД и получение из нее данных.

Создаем файл.php с произвольным названием и следующим содержимым:

//поставить еденицу если хотите включить отладку запросов
$debug = 0;

$bag_req = array("select", "eval", "echo", "UPDATE", "LIMIT", "INSERT", "INTO", "union", "CONCAT", "INFORMATION_SCHEMA", "OUTFILE", "DUMPFILE", "LOAD_FILE", "BENCHMARK", "SUBSTRING", "ASCII", "CHAR", "database", "HEX", "\\.\\/", "%00", "\\.htaccess", "config\\.php", "document\\.cookie");
$request = serialize($_GET);


if($_GET)
{
foreach ($bag_req as $key => $value) {
{
В массиве найден запрос $value
$request";
}
}
}
if($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req as $key => $value) {
if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
{
if($debug == "1") $do_debug = "
В массиве найден запрос $value , который блокирует правильную работу
$request";
die("BAD REQUEST $do_debug");
}
}
}
?>


Сохраняем его на сервере в любом каталоге системы DLE. Открываем файл engine/classes/mysql.php и после:

if(!defined("DATALIFEENGINE"))
{
die("Hacking attempt!");
}


подключаем созданный файл:

include_once(ENGINE_DIR."/путь_к_файлу/название.php");


6. Используя бесплатные компоненты к DLE обязательно узнайте мнение специалиста о их надежности.

При возникновении вопросов обращайтесь к поисковым системам - весь материал в свободном доступе!
Есть что добавить? Милости прошу к обсуждению!

Удачи вам и вашим проектам!

От автора: приветствую вас, друзья. В этой небольшой обзорной статье мы рассмотрим, как устроена админка DLE, где находится вход в админку DLE и как попасть в админ панель. Как вы понимаете, статья в первую очередь ориентирована на тех, кто только-только начал свое знакомство с CMS DLE.

Итак, вы установили движок DLE на хостинг или локальный сервер. Как теперь попасть в админку DLE? Все просто, для этого достаточно обратиться к главной странице вашего сайта и дописать к адресу строку admin.php, после чего перейти по новому адресу. Например, адрес моего сайта — dle.loc, соответственно, админ панель DLE находится по следующему URL — dle.loc/admin.php

При попытке войти в админку DLE, мы вполне логично увидим форму авторизации, где должны ввести логин и пароль администратора, придуманные нами на этапе установки DLE. Давайте авторизуемся. После успешной авторизации мы попадаем в святая святых нашего сайта — панель управления DLE.

Стоит отметить, что админка DLE построена достаточно логично и интуитивно понятно. Если пытаться сравнивать с админками прочих CMS, то админка DLE будет чуть более сложна, чем админка WordPress, но более проста и понятна по сравнению с админкой Joomla. Внешний вид админ панели DLE также достоин похвалы, работать с админкой довольно приятно и удобно.

В правом верхнем углу мы можем увидеть данные по нашему профилю, где можно изменить E-mail, имя, пароль и прочие аналогичные данные. Также рядом есть доступ к двум наиболее часто используемым функциям при управлении сайтом — добавление новости и Редактирование новостей. Поскольку DLE — это новостной движок, то вполне логично, что функции управления новостей вынесены для удобного к ним обращения.

Давайте попробуем добавить первую новость, или статью, если угодно, на наш сайт. Для этого жмем кнопку Добавить новость и заполняем предлагаемую форму для добавления новости. По сути, нам достаточно указать название статьи, выбрать категорию для нее, а также заполнить краткое и полное описание добавляемой статьи.

Сохраним новость и посмотрим, появилась ли она на главной странице сайта. Статья появилась и это замечательно, поскольку так же легко и просто вы можете добавлять и другие ваши статьи и новости.

Давайте также изменим название сайта. Сделать это можно в разделе Настройки скрипта — Настройка системы. В поле Название сайта впишем желаемое название.

Теперь во вкладке браузера в качестве названия сайта мы увидим то, что нам нужно. Как видим, все действительно удобно, логично и понятно устроено в админке DLE. В следующих статьях мы познакомимся с другими возможностями DLE, ну а на этом текущую статью мы, пожалуй, будем завершать. Если вы хотите познакомиться с DLE поглубже и научиться создавать сайты на этом движке, тогда обязательно обратите внимание на наш курс . Ну а я на этом с вами прощаюсь. Удачи!




Top