Ladycharm

Рейтинг
351
Регистрация
07.12.2007
FinN73:
Что значит нормальный отчет?

Это тот отчёт, который CSP присылает и вы пишете в файлы.

FinN73:
И как узнать из консоли есть ли блокировка?

Выбрать из меню браузера, или сочетание клавиш Ctrl + Shift + I и появляется окно типа (пример для Хрома):

jpg csp.jpg
FinN73:
Вот что нашел еще в репорте:
... http://c.imrk.net/tag/1.js ...
Что это значит?

Это заблокирован известный шпион-вредонос Imarker, который собирает персональные данные по всей стране. И потом по ним таргетируют персональную рекламу.

FinN73:
"blocked-uri":"data:text/javascript;base64
dmFyIFBTdGlkPSI5NzM5IixQU3NpemU9InJtcmVkIjsKK...

Это из консоли вашего браузера, когда вы зашли на страницу http://www.мойсайт.net/каталог/27898-страница.html ????

FinN73:
Ребят, помогите понять, что значит этот репорт:

CSP заблокировала нечто вроде <frame src='data:base64; ab4KlXft...', только в нормальном отчёте должна быть полная data:

"blocked-uri":"data:base64; ab4KlXft..." (чисто data без самих данных бывает у браузеров Chrome, FF шлёт всё полностью)

Зайдите на страницу из "document-uri":"http://www.мойсайт.net/каталог/27898-страница.html" и посмотрите есть ли блокировка CSP в консоли браузера. Если нет - 99.9% что CSP заблокировала то, что надо.

Preci:
Пытаюсь добавить:...

Для быстрой ручной заплатки можно было сделать что-то вроде:

$names = str_replace( array('"', "'", '/', '('), '', $names);

или регуляркой. Но автор плагина сделал грамотнее.

Xaron:
Именно так.

И в консоли браузера при этом - нет блокировок CSP?

Наблюдается во всех браузерах или в каком-то одном?

PS: Извиняюсь за кучу вопросов - хочется прояснить как регулярно проявляется проблема.

Preci:
Пытаются взломать?

SQL-инъекцию проводят. У вас переменные name и email не экранируется при передаче в MySQL в LOWER(name)="...неэкранированная переменная...". Вы пропускаете в запрос одинарные и двойные кавычки. Скоро сломают, если не уже.

Перед подстановкой в sql-запрос все данные(прислылаемые пользователем) должны обрабатываться по mysql_real_escape_string для PHP 4.

На PHP 5 лучше использовать библиотеки MySQLi или PDO_MySQL.

PS: И не лишне пользовательский ввод чистить регуляркой или фильтром типа if (filter_var($email, FILTER_VALIDATE_EMAIL)) от недопустимых символов. В Имени/email-е допустимы букво-цифры, '@._-', там нечего делать символам ()/, ПРОБЕЛУ и особенно - кавычкам " '.

Хотя, если честно - в email много чего допустимо по RFC...

Также, переменные надо ограничивать/проверять по длине. У вас есть размер для полей name/email в БД, а вам сейчас пихают 167 символов в запросе:

SELECT member_id FROM members WHERE LOWER(email)="if(now()=sysdate(),sleep(0),0)/-5959" or 8546=if((93=93),sleep(5),8546) and "drxz"="drxz'xor(if(now()=sysdate(),sleep(0),0))or'"xor(if(now()=sysdate(),sleep(0),0))or"/"
FinN73:
А как узнать лимит? В каком файле можно глянуть?

Для Apache - в httpd.conf, константа LimitRequestFieldsize

FinN73:
Вот только теперь перестало показываться сколько человек добавило сайт в соц закладки, ставлю yastatic.net *.yastatic.net https://yastatic.net в картинках и в скриптах и все равно не показывает.

На время отладки поменяйте в начале CSP Header set Content-Security-Policy на Header set Content-Security-Policy-Report-Only - она перестанет блокировать и будет только слать отчёты, что собиралась заблокировать.

FinN73:
А вот что делать с этим мусором в папке? Это что вообще такое?

В этом мусоре приходится копаться и открывать то, что не надо блокировать.



Xaron:
Ну и еще надо выяснить, почему на одном сайте периодически файл со стилями CSS не загружается...
Не загружается вами при просмотре сайта, или видите по отчётам, что это происходит у кого-то другого?

PS: При посещении сайта GoogleBot-ом присылаются отчёты, что заблокирована загрузка стилей CSS. Индексирующий бот Google ходит каким-то неполноценным браузером, причём, разбойник, кэширует заголовки CSP. Изменяешь CSP, а он ещё неделю продолжает приходить со старыми заголовками (они видны в присылаемом CSP-отчёте).

FinN73:
Подскажите пожалуйста, что не так делаю?

По той ссылке - CSP в формате "для людей", в формате файла .htaccess она будет выглядеть так:


Header set Content-Security-Policy "\
default-src 'self';\
img-src 'self';\
style-src 'self';\
script-src 'self';\
object-src 'self';\
connect-src 'self';\
frame-src 'self';\
font-src 'self';\
report-uri http://site.ru/csp.php;"
Или вместо переносов \ надо вытянуть всё в одну строку:

Header set Content-Security-Policy "default-src 'self'; img-src 'self'; style-src 'self'; script-src 'self'; object-src 'self'; connect-src 'self'; frame-src 'self'; font-src 'self'; report-uri http://site.ru/csp.php;"

(что будет неудобно в работе). Хотя был один хостер, у которого пришлось вытягивать всё в одну строку, тк htaccess не понимал переноса на следующую строку по \.

PS: Internal Server Error 500/502 - ошибка в синтаксисе .htaccess, так же бывает при превышении размера заголовков свыше лимита, установленного в настройках Apache.

shablon:
Что-то блокируется из Яндекс-Метрики или все нормально?

Да, блокируется. Для работы Метрики надо добавить data: в директиву img-src.

Всего: 4257