Главная » DLE » Статьи DLE » Решение проблемы проверки на правильность alt name в URL для DLE
Распечатать статью

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

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

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

Для исправления откройте файл engine/moduli/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 ошибку) позволит избежать попадания под фильтры в ПС при попытках недоброжелателей.

Внимание!!! Перед началом изменения файлов движка, обязательно сделайте резервные копии изменяемых файлов!!!

Источник: dle9.com

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

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

Похожие статьи