Решение проверки на правильность alt name в URL DLE

Решение проверки на правильность alt name в URL DLE


Проблема: Багфикс недостаточная фильтрация входящих данных на дле движке движке всех версий
Решение проблемы проверки на правильность alt name в URL новости с редиректом на верный url или выводом ошибки 404
Ошибка в версии: все
Автор фикса: RooTM
Степень опасности(SEO): Высокая
Исправление только для тех кто использует ЧПУ(и все модули на dle и dle шаблоны сообщений поддерживают ЧПУ):

Для исправления откройте файл engine/modules/show.full.php и найдите:
$news_found = TRUE;


Ниже добавьте один из вариантов:

1-ый вариант:
отдает 404 ошибку

if($config['allow_alt_url'] == "yes"){preg_match( '/'.$row['id'].'-(.*?).html/is' , $_SERVER["REQUEST_URI"] , $parse_alt_name );if($row['alt_name'] != trim($parse_alt_name[1]) )$news_found = FALSE; if( !$news_found ) break;}


2-ой вариант:
делает редирект на правильный URL:

if($config['allow_alt_url'] == "yes"){preg_match( '/'.$row['id'].'-(.*?).html/is' , $_SERVER["REQUEST_URI"] , $parse_alt_name );if( $row['alt_name'] != trim( $parse_alt_name[1] ) ){$true_url = str_replace( $parse_alt_name[1] , $row['alt_name'] , $_SERVER["REQUEST_URI"] );header('HTTP/1.1 301 Moved Permanently');@header ( 'Location: ' . $true_url );exit;}}


Первый вариант (отдает 404 ошибку) позволит избежать попадания под фильтры в ПС при попытках недоброжелателей.

Предлагаем скачать для DLE решение проблемы проверки на правильность alt name в URL

nedostatochnaya-filtraciya-vhodyaschih-dannyh.rar [1,43 Kb] (cкачиваний: 39)
{rating-num}0

Комментарии (0)

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив