Назад | Перейти на главную страницу

Suhosin для отдельных URL-адресов?

Я использую SimpleID как мой провайдер OpenID, и оказывается, что если я войду в через страниц, подобных тем, что на StackExchange, Сухосин отбрасывает один из параметров запроса GET. Имя переменной s и я предполагаю, что он отвечает за "возврат к URL" после входа в систему.

Все это не проблема, если я уже вошел в SimpleID раньше. Однако, как только сайт, на котором я хочу войти через OpenID, оказывается на экране входа в SimpleID, перенаправление обратно на сайт, с которого я пришел, больше не работает из-за сброшенной переменной.

Есть ли способ настройки для каждого виртуального хоста или каждого URL-адреса, чтобы игнорировать максимальную длину для запросов GET с параметром s превышение установленного (глобального) лимита?

Я использую Apache 2.2, поэтому мне было интересно, существует ли для Suhosin механизм, подобный установке переменных PHP ini из конфигурации сервера.

Если вы используете PHP как mod_php в Apache, вы можете отключить Suhosin (или изменить его конфигурацию) с помощью файлов .htaccess. Просто добавьте (или измените) файл .htaccess в каталоге SimpleID, чтобы добавить:

php_flag suhosin.simulation Вкл.

для тестирования (просто чтобы проверить, действительно ли проблема в Suhosin) создайте простой файл PHP, содержащий только предложение phpinfo (), загрузите его в свой браузер и проверьте, показывает ли раздел Suhosin изменение конфигурации. Затем попробуйте войти в систему с помощью SimpleID.

Если все идет хорошо и Suhosin действительно является проблемой, вы можете изменить файл .htaccess, изменив параметры suhosin.get. *, Чтобы вам не приходилось полностью отключать Suhosin.

Если вы используете PHP с помощью CGI, FCGI, suPHP или чего-то подобного, .htaccess может использоваться или не использоваться для изменения параметров PHP (это зависит от конфигурации Apache), но в этом случае у вас может быть доступ к локальному php. ini, вы можете изменять и устанавливать непосредственно параметры Suhosin.