cmsdev

Рейтинг
19
Регистрация
04.04.2012
Тут у вас и проблема, по всей видимости, подмена происходить после загрузки страницы плагином из браузера, который может выжидать определенный таймаут уже после того как загрузилась страница и отработали все скрипты.

буду еще пробовать варианты, вы не сказали какое у вас расширение в браузере

Добавляйте исключения с помощью косоли, отладка CSP нужна всегда и для каждого сайта своя, универсального найти нельзя, разве что для статичного сайта без скриптов вообще.

CSP не работает на мобильных устройствах (не на всех по крайней мере), в этом проблема большая

у меня дополнение к опере AS Magic Player, реклама таким способом блокируется, добавил setTimeout, проверьте так

Работает просто отлично, я бы так проблему не стал решать

ну как-то нужно решение искать, я так попробовал, так как CSP не вариант, не работает во всех браузерах и хостингах, скрипт от tparser или подобные вырезают рекламу гугла

Что делает данный код?

при загрузке страницы заменяет "тело" сайта на родной код без вставок браузера

---------- Добавлено 02.10.2014 в 01:46 ----------

noorma какое у вас дополнение стоит в браузере? потестирую с ним

у себя решил таким образом:

1. в корень заливаем php файл getbody.php, с таким содержанием

<?php

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
if (isset($_POST['url'])) {
$url = htmlspecialchars($_POST['url']);
preg_match_all('|<body.*?>(.*?)<\/body>|si', file_get_contents($url), $out);

die($out[1][0]);
}
} else {
header('HTTP/1.0 404 Not Found');
header('Status: 404 Not Found');
die();
}
?>

2. на сайте перед тегом body вставляем JavaScrip


<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){
$.ajax({
type: 'POST',
url: '/getbody.php',
data: 'url=' + window.location,
success: function(data){
$('body').html(data);
}
});
});
</script>

если jquery на сайте уже подключен, то строки

<script src="http://code.jquery.com/jquery-latest.js"></script>

не нужно

если на сайте jquery в режиме noConflict, то строку

$(function(){

поменять на

jQuery(function($)

этот способ позволит обойтись без CSP, должен работать во всех браузерах (в т.ч. мобильных), на хостинге не требуется модуль mod_headers, а главное не вырезается ваша реклама, пробовал только у себя на сайте, на сайте реклама от гугла, коментарии от cackle, соц. кнопки, яндекс метрика, яндекс share, вроде все работает нормально, проверял в зараженном браузере, если у кого-то есть браузер с этими вредоносными дополнениями можете проверить

cmsdev:
http://secu.ru/scripts/find-and-replace
добавил в скрипт возможность выбора папки для поиска, можно перейти на уровень выше и добраться до корня аккаунта

я это сообщение написал, а файл на сервере забыл обновить), обновил

killerok:
Спасибо, но мне надо софт, так как сайты находятся в подпапках, а с корня аккаунта мне скрипт не запустить.

http://secu.ru/scripts/find-and-replace

добавил в скрипт возможность выбора папки для поиска, можно перейти на уровень выше и добраться до корня аккаунта

Аукцион закончен

ответы на вопросы которые поступили в личку:

оплата по privat24 или webmoney, без гаранта (BL 85), или с гарантом за счет покупателя, домен передается сразу после 100% оплаты в аккаунт reg.ru, смена администратора домена в течении нескольких дней

аукцион продолжается, inWebs от домена отказался из за того, что он находится в reg.ru, для тех кого это не смущает: последняя ставка 9000р, окончание аукциона 24.07.2012 00:00 (если не будет ставок, то домен уйдет к Dnn за 8500р, в противном случае окончание аукциона 24 часа ППС), или сразу после блица

аукцион заканчивается через полтора часа, последняя ставка 9000р. за стабильный ТИЦ 40 PR 2

---------- Добавлено 22.07.2012 в 01:44 ----------

аукцион завершен, inWebs отписал вам в личку

блиц 15000р (500$)

12
Всего: 12