Обновление безопасности .11
Прислано Sky на 08 Июля 2007, 13:23:14
На официальном сайте появилось обновление безопасности .11, которое включает в себя изменение в файле maincore.php. Дистрибутив обновлен и доступен в нашем файловом архиве. Для обновление уже установленной системы скачайте файл архив обновления Обновление до версии 6.01.11.2 или измините код в ручную. (см. подробнее)
Расширенные новости
Ручное изменение файла maincore.php

Находим:
// Common definitions
$_SERVER['PHP_SELF'] = htmlspecialchars(descript($_SERVER['PHP_SELF']), ENT_QUOTES);
$PHP_SELF = htmlspecialchars(descript($_SERVER['PHP_SELF']), ENT_QUOTES);


Заменяем на:
// Sanitise $_SERVER globals
$_SERVER['PHP_SELF'] = cleanurl($_SERVER['PHP_SELF']);
$_SERVER['QUERY_STRING'] = isset($_SERVER['QUERY_STRING']) ? cleanurl($_SERVER['QUERY_STRING']) : "";
$_SERVER['REQUEST_URI'] = isset($_SERVER['REQUEST_URI']) ? cleanurl($_SERVER['REQUEST_URI']) : "";
$PHP_SELF = cleanurl($_SERVER['PHP_SELF']);
// Common definitions


Далее находим:
// Fallback to safe area in event of unauthorised access
function fallback($location) {
header("Location: ".$location);
exit;
}


После добавляем:
// Clean URL Function, prevents entities in server globals
function cleanurl($url) {
$bad_entities = array("&", "\"", "'", '\"', "\'", "<", ">", "(", ")");
$safe_entities = array("&", "", "", "", "", "", "", "", "");
$url = str_replace($bad_entities, $safe_entities, $url);
return $url;
}