fliger

fliger
Рейтинг
113
Регистрация
17.09.2015

Лучше без флага QSA:


RewriteRule ^(.*)%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0$ http://%{HTTP_HOST}$1? [R=301,L]

или

RewriteCond %{THE_REQUEST} ^(?>[A-Z]{3,9})\ /(.*)%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0\ HTTP/
RewriteRule ^.*$ http://%{HTTP_HOST}/%1? [R=301,L]
miketomlin:
fliger, я как будто в общество некроманов попал

Если человек PHP не владеет, то SSI - вполне приемлемая альтернатива. Пусть с чего-то начинает.

P.S. Я SSI лет 15-20 назад пользовался, пока на PHP не перешел. В те времена Google еще не было, а Яндекс только зарождался.

Сделайте обрезание таких окончаний из URL (редиректом на целевую страницу).

Фейсбук, например, тоже добавляет к URL свои параметры вида ОРИГИНАЛЬНЫЙ_URL?fbclid=IwAR1BW-vpCuj6tPDqD26EFh4Fouzzq1CJ08q4iYaTe2AuU_0y9AJlXZaqGKM

А Гугл-поиск - ОРИГИНАЛЬНЫЙ_URL?sa=X&ved=2ahUKEwjAtPSGno_nAhUHEpoKHTu9BMkQFjABegQICBAB


RewriteRule ^(.*)%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0$ http://%{HTTP_HOST}$1 [R=301,QSA,L]

или так:


RewriteCond %{THE_REQUEST} ^(?>[A-Z]{3,9})\ /(.*)%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0\ HTTP/
RewriteRule ^.*$ http://%{HTTP_HOST}/%1 [R=301,QSA,L]
-BoB4uK-:
На сайте удалили целый раздел с информационными статьями (проведено 3 независимых аудита, все 3 показали, что такие страницы только мешают продвижению основных запросов, должны продвигаться отдельно, например, на субдомене в виде блога).

Странный вывод.

SeVlad:
Если бы человек знал php - он вряд ли бы с фреймами связался.

Что ему мешает SSI использовать. Сделать шаблоны шапки и подвала, подключив к ним файлы. Сам когда-то так начинал.

LEOnidUKG:
Да нету в DOM никаких сторонних скриптов. Вы наверное не поняли, что делает провайдер.

О чем речь идет, я понял - якобы провайдер внедряет в скрипты сайтов свой код.

Мне интересно, работает мой код, режущий скрипты, или нет на Ростелекоме и других дерьмо-провайдерах.

bitl:
Не получится. Ростелеком делает следующее: ловит первый js-файл загружаемый страницей, подменяет его на свой, добавляя в конец файла обфусцированный оригинал. Например у вас грузится js-файл гугло-аналитики, вот его ростелеком перехватывает и заменяет на свой.

Можно было бы впоследствии вырезать их баннер своим джавоскриптом (если вы вебмастер и не хотите такой хуйни на своем сайте), но они могут в любой момент поменять свой код, задолбаешься отслеживать.

Кстати, мой код режет партнерские скрипты, загружаемые из моих же локальных файлов, если их атрибут src не указать в правиле. По идее, подобная фигня http://p.mobilebanner.ru, внедренная провайдером в локальный файл, должна вырезаться. Т.е. код ищет в DOM все теги script, проверяет их атрибут src - если он не соответствует нужному, скрипт удаляется.

Проверьте кто-нибудь.

Дополнительно к CSP можно через jQuery сторонние скрипты из DOM вырезать:


if ($('script').length > 0) {
$('script').each(function() {
var url = $(this).attr('src');
if (url.substr(0) != '/ЛОКАЛЬНАЯ_ПАПКА_JS/' && url.indexOf('//НУЖНЫЙ_ДОМЕН.ru/') === -1) {
$(this).remove();
}
});
}

Локальные скрипты лежат в одной папке.

aleksandrbol:
вот это точно отработает!

Конечно работает. Кроме того, метод POST нужно разрешить только для тех URI, где он используется.

А еще через mod_rewrite разрешить параметры запроса в URL только для тех, где они есть (т.е. ссылки вида /ССЫЛКА/?параметр-запроса):


RewriteCond %{QUERY_STRING} ^.+$
RewriteCond %{THE_REQUEST} !^(?:GET|HEAD)\ /разрешенный_URI\?разрешенный_QUERY_STRING\ HTTP/
...
...
RewriteRule ^.*$ - [F]

Запретите обращаться к сайту по IP.

Правило для сайта № 1:

RewriteCond %{HTTP_REFERER} !^САЙТ_№_2/.*?$ [NC]

RewriteRule ^(?>[^\.]+)\.(?:gif|jpe?g|png)$ САЙТ_№_2 [R=301,L]

P.S. Неужели настолько лень учиться?

Всего: 707