• Автор:

    Flesha
  • Добавлено:

    сен 11, 2011
  • Комментариев:

    0
  • Просмотров:

    1215

Недостаточная фильтрация в модуле Переходы 9.1

Недостаточная фильтрация в модуле Переходы 9.1

Для исправления откройте файл engine/modules/referer.php и найдите:
if(preg_match("/[<][/a-zA-Z]+(.*?)[>]/", urldecode(rawurldecode($http_referer)))) {die ( "Переход заблокирован, перенаправление:<br /><br />Пожалуйста, нажмите <a href="{$request_uri}">сюда</a>." );}



Ниже добавьте:
if(preg_match("/[<][/a-zA-Z]+(.*?)[>]/", urldecode(rawurldecode($request_uri)))) {die ( "Переход заблокирован, перенаправление:<br /><br />Пожалуйста, нажмите <a href="{$config['http_home_url']}">сюда</a>." );}if(preg_match("/[<][/a-zA-Z]+(.*?)[>]/", $_SERVER['HTTP_USER_AGENT'])) {die ( "Переход заблокирован, перенаправление:<br /><br />Пожалуйста, нажмите <a href="{$config['http_home_url']}">сюда</a>." );}



Немного ниже найдите:
if (checkurl($http_referer) != "false") {



Выше добавьте:
$request_uri = $db->safesql( trim( htmlspecialchars( strip_tags( $request_uri ) ) ) );



Ниже найдите:
$rblock = str_replace( '[slink]', "<a href="".$row['uri']."">", $rblock );



Замените на:
$rblock = str_replace( '[slink]', "<a href="".strip_tags($row['uri'])."">", $rblock );


Найдите:
$user_agent = $_SERVER['HTTP_USER_AGENT'];



Замените на:
$user_agent = @$db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_SERVER['HTTP_USER_AGENT'] ) ) ), ENT_QUOTES ) );
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.