Проблема с IPB во время установки.

Код ошибки:

mySQL query error: SELECT id FROM faq WHERE app='core' AND title = 'Поиск'

SQL error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
SQL error code: 1267
Date: Monday 13th October 2014 08:12:34 PM


 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Date: Mon, 13 Oct 2014 20:12:34 +0000
 Error: 1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
 IP Address: 127.0.0.1 - /admin/install/index.php?app=install§ion=install&do=acphelp
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mySQL query error: SELECT id FROM faq WHERE app='core' AND title = 'Поиск'
 .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
 | File                                                                       | Function                                                                      | Line No.          |
 |----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
 | admin/setup/applications/install/sections/install.php                      | [admin_core_tools_help].helpFilesXMLImport_app                                | 1481              |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
 | admin/setup/applications/install/sections/install.php                      | [install_install].install_acphelp                                             | 139               |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
 | admin/setup/sources/base/ipsController_setup.php                           | [install_install].doExecute                                                   | 258               |
 '----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'


Решение проблемы:

Необходимо сменить кодировку базы данных, для этого нужно выполнить код в MySQL
ALTER DATABASE dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Где dbname название вашей базы данных
utf8_unicode_ci — необходимая кодировка.

или

Или войти в панель ISPmsnsger, в раздел Инструменты > Базы данных
удалить текущую базу
создать новую, где в поле Кодировка выбрать utf8
После запустить сетап форума по новой /admin/install/index.php

Защита папок скрипта от запуска сторонних скриптов

DLE
Дорогие друзья,

в этой небольшой статье мы хотим рассказать вам о том как, как вам можно повысить безопасность вашего сайта. Как известно наибольшую угрозу для сайта представляют собой залитые злоумышленником на сервер PHP шеллы. Что это такое? Это PHP скрипты которые могут выполняться на вашем сервере, соответственно производить какие-либо изменения в файлах доступных для записи или могут, например читать содержимое конфигурационных данных и соответственно получать прямой доступ к базе данных. Каким образом могут попадать данные шеллы на ваш сервер? При обнаружении какой либо уязвимости в скрипте, или сторонних модулях, или вообще при наличии других уязвимых сторонних скриптов на сервере, или серверного ПО. Главная особенность заключается в том, что шеллы можно залить не в любые папки на сервере, а лишь в папки доступные для записи на сервере, и в DataLife Engine такими папками являются папки /uploads/ и /templates/, а также все вложенные в них папки. Данные папки должны иметь права на запись, т.к. вы в них заливаете посредством скрипта легальный контент, файлы, картинки, редактируете в админпанели шаблоны и прочее. И как правило в эти папки производится загрузка шеллов при обнаружении злоумышленником какой либо бреши на сервере в любом скрипте, даже не имеющем отношения к DataLife Engine. Можно ли защитить эти папки, в случае попадания в них зловредного PHP файла, ведь нельзя запретить доступ к этим папкам? Можно, и достаточно не сложно.

Итак, вам необходимо разместить в папках /uploads/ и /templates/ файл .htaccess со следующим содержимым:
php_flag engine  off


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

К сожалению далеко не все хостинг провайдеры позволяют управлять через .htaccess данным параметром, но для таких сайтов решение также существует, поэтому если на вашем сервере не работает вышеуказанный способ, то разместите в этих же папках .htaccess с содержимым:
<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?.*">
   Order allow,deny
   Deny from all
</FilesMatch>


Данный код запрещает прямое обращение к PHP файлам, находящимся в этих папках.

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

Но если им удастся получить доступ к вашей админ панели, и они попытается разрешить заливку php скриптов.
Для подстраховки можно сделать так.
Открыть: engine/inc/files.php и найти там

$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
$allowed_video = array ("avi", "mp4", "wmv", "mpg", "flv", "mp3", "swf", "m4v", "m4a", "mov", "3gp", "f4v" );
$allowed_files = explode( ',', strtolower( $config['files_type'] ) );
$img_result_th = "";
$img_result = "";


Найденное заменяем на:

$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
$allowed_video = array ("avi", "mp4", "wmv", "mpg", "flv", "mp3", "swf", "m4v", "m4a", "mov", "3gp", "f4v" );
$allow_conf = str_replace("php",md5(time() - rand(30,60)),strtolower( $config['files_type'] ));
$allowed_files = explode( ',', $allow_conf );
$img_result_th = "";
$img_result = "";


После этого вы очень сильно усложните заливку шелла на сайт, и сможете наконец спать спокойно!

Находим скрипт который грузит систему через httpd процесс и server-status

Самый простой способ, это найти какой URL загружает процессор. Сделать это можно, сконфигруриров файл httpd.conf

У некоторых он расположен по адресу /etc/httpd/conf/httpd.conf, у меня — /usr/local/etc/apache22/httpd.conf

Для этого впишем в него, после строки DocumentRoot следующую информацию:
Читать дальше →