Вход

Исправление проблемы с множественными слешами в url

В DLE есть проблема с слэшами в url, их может быть бесконечное количество и эти страницы отдают код 200. Так как разработчик не планирует этого исправлять уже как 12 версий движка, то вот вам мое исправление.

Для тех кто не понял.
https://mysite.com//
https://mysite.com///
https://mysite.com////
https://mysite.com///// и т .д.

Такие страницы существуют в DLE и отдают код 200. Нужно это исправить.

1. Открыть engine/engine.php найти
if ($cstart < 0) $cstart = 0;
Выше вставить
$slash_array = explode("/", $_SERVER['REQUEST_URI']);
$count_slash = array_count_values($slash_array);
if($count_slash[''] > 2) {
	$url_normal = array_filter($slash_array, function($element) {
		return !empty($element);
	});
	$url_redirect = implode("/", $url_normal);
	
	header("HTTP/1.0 301 Moved Permanently");
	header("Location: /{$url_redirect}/");
	die("Redirect");
}
На этом все.
419
Добавлено: Месяц и Неделю назад
Обновлено: Месяц и Неделю назад
Собрано 0 рублей Поддержать автора

Войдите на сайт


Данное дополнение сделано на энтузиазме для пользователей. Вы можете помочь автору материально сделав вклад в развитие, создание и поддержку других бесплатных дополнений. Любая помощь это добрый шаг с вашей стороны, вы становитесь одним из спонсоров раздела и непосредственным образом влияете на его дальнейшее развитие.
Прокомментировать
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

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

  1. sladkij
    #5 sladkij Гости 29 сентября 2017 17:12
    1
    чувак, добавь дату публикации новости на сайте
  2. Кирилл Дракс
    #4 Кирилл Дракс Гости 27 сентября 2017 15:59
    0
    И да, Редиректа не будет, если ссылка такая //. Нужно обязательно чтобы было так /124/. Исправляется проверкой.
    1. PunPun
      #3 PunPun Разработчик 27 сентября 2017 16:01
      0
      Редирект есть, можете проверить. Видео записывать я не буду конечно для того что бы доказать.
      1. maks
        #2 maks Гости 6 октября 2017 14:52
        0
        Нет редиректа. С одним слешем есть редирект, с двумя и более вообще сайт не открывает
        1. PunPun
          #1 PunPun Разработчик 10 октября 2017 15:36
          0
          Проверьте верность установки, и почистите кэш в браузере. Все работает без проблем.
  3. sneiks
    #0 sneiks Клиенты 13 сентября 2017 23:33
    0
    Есть ещё одна страница которая отдаёт 200 ответ:

    если в конце добавить /">

    https://punpun.name/">

    что то с этим сделать можно ???
    1. PunPun
      #-1 PunPun Разработчик 14 сентября 2017 00:36
      0
      Не совсем понял что за страница. С окончанием "> ?
      1. sneiks
        #-2 sneiks Клиенты 14 сентября 2017 08:28
        0
        Попробуйте открыть ваш сайт таким образом https://punpun.name/">

        У меня такая страница попала в индекс... теперь не знаю как её удалить от туда. Ну и и понятно что это случилось так как такая страница отдаёт 200 ответ...
        1. Артем
          #-3 Артем Гости 14 сентября 2017 17:02
          0
          Проверил, перешел по ссылке "https://punpun.name/">", мне выдало следующее "Hacking attempt!", соотвественно код ошибки 200... Интересно, так и должно быть в DLE?) Вот же багаюзанный движок((((
          1. Кирилл
            #-4 Кирилл Гости 27 сентября 2017 15:50
            0
            Это защита, на самом деле должно выдавать 404 после такого запроса
  4. Артем
    #-5 Артем Гости 13 сентября 2017 11:23
    0
    Аналогично, пока не увидел эту новость, даже не подозревал о существовании такого жесткого бага в DLE, спасибо ПанПан за бесплатные такие мини=хаки, приятно наблюдать за развитием твоего блога, надеюсь и впредь продолжишь развиваться.
  5. mblshkoblud
    #-6 mblshkoblud Клиенты 13 сентября 2017 01:41
    1
    Работает! Спасибо большое. Я и не замечал этого бага в движке.
© PunPun. 2017. При копировании, ссылка на источник обязательна.
Дизайн и верстка: Webrambo