Я столкнулся с одной любопытной проблемой, и я был бы признателен за любую помощь. Я ищу, чтобы страница отправила код Google Adsense, а затем сохранила его в базе данных (у меня есть поле ввода для принятия кода GA и кнопки отправки, очень простая форма). Дело в том, что я всегда получаю запрет 403 при отправке form, если поле ввода содержит "<script>"
в качестве значения. Если я попытаюсь представить что-нибудь еще, он отлично работает, но я не могу понять, почему текст не должен содержать "<script>"
.
Обратите внимание: это не проблема с выходом mysql или чем-то подобным, это происходит, даже если я прокомментирую полный PHP-код. Кажется, что POST не согласится с этим.
Другое дело, что эта проблема НЕ встречается в localhost (xampp), но только при загрузке на Namecheap-хостинг.
Любые идеи, почему это происходит и как сделать обходной путь?
Namecheap, вероятно, настроил правила mod_security на своих серверах, чтобы блокировать сообщения, содержащие теги, поскольку эти теги могут быть отправлены обратно на веб-страницу, открывает двери для очень серьезных уязвимостей на стороне клиента, если веб-приложение не справляется с этим правильно. Если сообщение может даже сделать это на php (что в вашем случае это не так), вы должны иметь возможность называть htmlspecialchars или htmlentities на нем, чтобы отфильтровать их. Если Namecheap делает это для вас, и это проблема, вы не можете сделать ничего, кроме изменения хостов, поскольку общий хостинг не позволяет вам говорить о конфигурации сервера.
У меня была эта проблема, мне нужно было использовать теги в форме, которую я отправлял в админ-системе (встраивание объявления Google AdSense).
Чтобы исправить, я отредактировал файл .htaccess и добавил строку SecFilterEngine Off
Мне нужно было сделать это временно, чтобы выполнить работу и вернуть ее, когда закончите.