Проблема: некоторые люди отправляют GET
, POST
запрос на HTTP
. (Веб-сайт использует HTTPS
и теоретически не принимает HTTP
)
Я пытаюсь предотвратить это с помощью следующих обновлений, к сожалению, безуспешно.
PHP - Проверьте наличие HTTP-соединение
if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443)
{
//connection are HTTP's load site...
}
Htaccess - Перенаправления
RewriteEngine On
# check for https conneciton
RewriteCond %{HTTP:X-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www entfernen - domain replaced with xxx (privecy)
RewriteCond %{HTTP_HOST} ^xxx [NC]
RewriteRule ^(.*)$ https://xxx/$1 [L,R=301,NC]
# check port
RewriteCond %{SERVER_PORT} !^443$
RewroteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L, R=301]
Мое рассуждение: Бот может отправлять форму из другой сервер через HTTP-соединение. Почему сейчас не работает htaccess или скрипт PHP - для меня загадка. В качестве информации: для обычных посетителей все работает как надо.
Ответ сервера
Это был запрос от (злоумышленника)
"GET /site/Kontakt/ HTTP/1.0" 301 706
"POST /site/Kontakt/ HTTP/1.0" 200 16247
"GET /site/Kontakt/ HTTP/1.0" 301 706
"GET /site/Kontakt/ HTTP/1.0" 200 19647