403 Запрещенная ошибка при отправке данных GET

Мой сервер – это сервер Linux, а реселлер – мой. Так что я тоже могу попасть на панель WHM.

Когда данные GET поступают следующим образом:

a.php?url=http://www.domain.com 

return 403 Запрещено.

Но если данные поступают так:

 a.php?url=www.domain.com 

работает.

Итак, http: // генерирует ошибку. Как я могу это исправить?

Кроме того, это возвращает 403 Forbidden:

 a.php?url=http%3a%2f%2fwww.domain.com 

Благодарю.

Это, безусловно, один из mod_security CoreRules . У меня была такая же проблема на моем предыдущем хосте. Однако я не помню названия правила.

Вы должны изучить версию основных правил. 2.1.1 было бы актуальным и могло бы смягчить этот особый фильтр. Если обновление или переконфигурация не поможет, вам также придется использовать base64_encode () ваш параметр url (более простые кодировки обнюхиваются mod_security).

 SecFilterDebugLog /var/log/apache2/modsec_log SecFilterDebugLevel 4 

Включает ведение журнала отладки mod_security, поэтому вы можете узнать, какое правило действительно вызвало проблему, – если вы хотите отключить ее (желательно). http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/modsecurity-manual.html#07-logging

Вам нужно закодировать строку запроса, чтобы она была действительной, см. urlencode()

re: 404 – возможно, вы переписываете строку запроса на путь где-то, и у вас нет AllowEncodedSlashes?

Это ошибка mod_security 10_asl_rules.conf, вызывающая эту ошибку.

Это .htaccess набирает что-то в этом URL-адресе и отправляет запрещенные заголовки.