Главная » Баг-фиксы
Проблема: Недостаточная фильтрация переменной $_SERVER['PHP_SELF']

Ошибка в версии: 4.5, 4.3, 4.2

Степень опасности: Низкая

Открываем файл index.php в корне и находим

$config['http_home_url'] = str_replace ('index.php', '', $_SERVER['PHP_SELF']);

заменяем на

$config['http_home_url'] = str_replace ('index.php', '', htmlspecialchars(strip_tags($_SERVER['PHP_SELF'])));
Категория: Баг-фиксы | Просмотров: 413 | Добавил: ALL-DLE | Дата: 31.05.2011 | Комментарии (0)

Проблема: На некоторых версиях PHP 5.xx обнаружена некорректная работа парсера новостей, которая приводит к потери полной новости в редакторе, при попытке отредактировать новость. На PHP 4 данная проблема отсутствует, но тем не менее рекомендуется обновить парсер.

Ошибка в версии: 5.5, 5.7

Для исправления ошибки скачайте архив и замените файл парсера на вашем сервере

Скачать исправление: Вы не можете скачивать файлы с нашего сервера
Категория: Баг-фиксы | Просмотров: 362 | Добавил: ALL-DLE | Дата: 31.05.2011 | Комментарии (0)

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

Ошибка в версии: Все версии

Степень опасности: Средняя (Высокая при наличии администраторского аккаунта на сайте)

Для исправления откройте файл engine/inc/files.php и найдите:

$serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) );

замените на:

        if ($member_id['user_group'] == 1) $serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) ); else $serverfile = '';

        if ( $serverfile != '' ) {

            $serverfile = str_replace( "\\", "/", $serverfile );
            $serverfile = str_replace( "..", "", $serverfile );
            $serverfile = str_replace( "/", "", $serve ... Читать дальше »
Категория: Баг-фиксы | Просмотров: 380 | Добавил: ALL-DLE | Дата: 31.05.2011 | Комментарии (0)

Проблема: Недостаточная фильтрация входящих данных.

Ошибка в версии: Все версии

Степень опасности: Высокая

Для исправления откройте файлы engine/modules/search.php и engine/modules/fullsearch.php и найдите:

$count_result = 0;

ниже добавьте:
$sql_count = "";

Откройте файл engine/inc/templates.php и найдите:
$allow_save = false;

ниже добавьте:
$_REQUEST['do_template'] = trim( totranslit($_REQUEST['do_template'], false, false) );
$_REQUEST['do_language'] = trim( totranslit($_REQUEST['do_language'], false, false) );

Либо просто скачайте и скопируйте на свой сервер патч для версии 9.0: http://dle-news.ru/files/dle90_path.zip, изменения для более старых вер ... Читать дальше »
Категория: Баг-фиксы | Просмотров: 376 | Добавил: ALL-DLE | Дата: 31.05.2011 | Комментарии (0)

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

2. голосование в новости. имхо еще хуже - после голосования показывает результаты НО все еще висят две кнопки голосовать и результаты. здесь имхо лучше просто убрать эти две кнопки.

Правим обычные голосования

Открываем /engine/modules/vote.php

находим

/////////////////////////////////////////////////////////////////////////////
  //  Проверяем проголосовал ли текущий пользователь
  /////////////////////////////////////////////////////////////////////////////
$_IP = $db->safesql($_SERVER['REMOTE_ADDR']);

if (isset($member_id['name'])) $nick = $member_id['name'];
else
$nick = '';

if ($is_logged)
$row = $db->super_query("SELECT count(*) as cou ... Читать дальше »
Категория: Баг-фиксы | Просмотров: 356 | Добавил: ALL-DLE | Дата: 31.05.2011 | Комментарии (0)

« 1 2 3 4 »