Jump to content

сайт отдает 403 ошибку с utm_referrer


Blast
 Share

Recommended Posts

прислал заказчик инфу, что при переходе на сайт по ссылке с Яндекс.товаров сайт отдает 403 ошибку.

общение с хостером ничего не дало, начал выяснять в чем тут дело.

в url добавляется utm метка utm_referrer=https://yandex.ru/products/search?text=текст

на сервак естественно приходит перекодированный вариант вида

https://domain/path-to-product?utm_referrer=https%3A%2F%2Fyandex.ru%2Fproducts%2Fsearch%3Ftext%3D%D1%82%D0%B5%D0%BA%D1%81%D1%82

 

методом проб выяснил что если заменить %3F на что-то другое, то сайт вполне работает.

похоже, что обновление безопасности апача запретило использовать hex-перекодированный символ "?" в "%3F" в url.
наткнулся на такое обсуждение
https://stackoverflow.com/questions/78729429/403-forbidden-when-url-contains-get-with-encoded-question-mark-unsafeallow3f

заменил в .htaccess строку
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
на
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,UnsafeAllow3F]

работать то работает, но интересно насколько это безопасно и есть ли другие решения, учитывая что и php'шный urlencode и js'овский encodeURIComponent по-прежнему кодируют этот символ в %3F

Link to comment
Share on other sites

В схожей ситуации , данное решение предложил сам хостер.

 

7777.png

 

 

Ну и как вариант от меня (так же нужно проверять).

# Преобразование UTM-меток от Яндекс.Товаров
RewriteCond %{QUERY_STRING} utm_referrer=https%3A%2F%2Fyandex\.ru%2Fproducts(.*)
RewriteRule ^(.*)$ $1?utm_source=yandex&utm_medium=products [R=301,L]
  • Применяет UnsafeAllow3F только для трафика с Яндекс.
  • Сохраняет UTM-метки в исходном виде
  • Не создает дополнительных редиректов
  • Минимально влияет на существующую логику работы сайта
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...