Пример, ссылка с профиля пользователя:
mysite.com/redirect?url=https://example.com — показывает редирект и даёт перейти на сайт
Ссылка с карт:
mysite.com/redirect?url=https://example.com — выдаёт 403 (от апаче в данном случае, еще бывает от cms 403).
Может еще кто на пальцах объяснить, какая выгода от редирект компонента? Понятно что вес не отдаёт, но привлекает спамеров?
Еще вопросик, если редирект стоит и как бы должен защищать, то вот лог:
107.173.178.131 — - [07/Sep/2020:04:39:58 +0300] "GET / HTTP/1.1" 200 18612 "mysite.com/redirect?url=https://www.esg-gesellschaft.de/pruefleistungen/pruefung-von-elektrischen-geraeten" "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"
Получается запрос прошёл или это так называемый ghost redirect?
По приведённой информации не ответить. Я бы отслеживал запросы к вашему серверу с редиректом и писал в свой лог-файл:Еще вопросик, если редирект стоит и как бы должен защищать, то вот лог:
— время,
— содержимое $_SERVER['HTTP_REFERER']
Затем сравнивал бы записи из логов сервера и записи из своего файла, если спам-запрос прошел и в $_SERVER['HTTP_REFERER'] адрес вашего сайта, то спамеры обманули компонент. Если нет — что-то не работает на сайте.
Со стены пользователя — mysite.com/redirect?url=https://example.com — сайт открывается через редирект. Т.е. я в настройках профилей указал чтобы через редирет с проверкой реферера.
С компонента InstantMaps — mysite.com/redirect?url=https%3A%2F%2example.com (тот же самый урл как наверху), только почему то он его переделал начало урл в %3A%2F%2. Соответственно, получается, что редирект там не включен. А включить в настройках мапс нету такого. Я когда топик начинал, не заметил что урл меняется. Только сейчас вставил в блокнот 2 урла и увидел разницу.
Вопрос как бы сделать костыль (ибо я как понимаю поддержки InstantMaps нету), чтобы нормально заработал через компонент редирект системный?
В месте:
<li class="url"><a href="<?php echo href_to('redirect'). '?url='. $href; ?>" target="_blank"><?php html($contacts['url']); ?></a></li>
Поменять на:
<li class="url"><a href="<?php echo href_to('redirect'). '?url='. urlencode($href); ?>" target="_blank"><?php html($contacts['url']); ?></a></li>
И во 2 ответе сверху я перепутал(т.е. в профайле норм, а вот в картах как видите надо urlencode). Получается это хорошо когда урл типа %3A%2F%2. Тогда всё работает через редирект.
[10/Sep/2020:00:23:32 +0300] "GET / HTTP/1.1" 200 18612 "mysite.com/redirect?url=https://joker.vin/other-games-2/mega888/452-mega888" "Mozilla/5.0 (X11; Ubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2777.35 Safari/537.36"
Если я вставляю этот урл в свой браузер, то выходит 403 (так как есть правила на блок). mysite.com/redirect?url=https://joker.vin/other-games-2/mega888/452-mega888
Вопрос как он проскочил? Это не ghost referer spam? Когда как бы бот даже не посещает сайт, но его запрос остаётся ликвидным.
Иными словами, если в цмс есть функция редиректа, то боты её используют. Как скрыть эту функицю от ботов?