Suhosin每URL的例外?

我正在使用SimpleID作为我的OpenID提供程序,事实certificate,如果通过类似于StackExchange的页面login,则Suhosin将取消GET请求的参数之一。 variables的名称是s ,我认为它是负责login后的“返回URL”部分。

所有这些都不是问题,只要我已经从之前login过SimpleID。 但是,一旦我想通过OpenIDlogin的站点在SimpleID的login屏幕上结束,那么由于丢弃的variables,redirect回到我来自的站点不再工作了。

有没有一种方法可以在每个虚拟主机上或基于每个URL的基础上configuration,忽略参数s超过(全局)设置限制的GET请求的最大长度?

我使用的是Apache 2.2,所以我想知道是否有类似于从服务器configuration中设置PHP inivariables的机制存在于Suhosin中。

如果您在Apache中将mod_php作为PHP运行,则可以使用.htaccess文件禁用Suhosin(或修改其configuration)。 只需在SimpleID目录中添加(或修改).htaccess文件即可添加:

php_flag suhosin.simulation On

要testing(只是为了检查Suhosin是否真的是这个问题),创build一个简单的PHP文件,只包含一个phpinfo()句子,在浏览器中加载它,并检查Suhosin部分是否显示configuration更改。 然后testing使用SimpleIDlogin。

如果一切顺利,Suhosin确实是问题所在,那么可以修改.htaccess文件来更改suhosin.get。*选项,这样就不必完全禁用Suhosin。

如果你正在使用CGI,FCGI,suPHP或类似的东西运行PHP,.htaccess可能会也可能不会被用来改变PHP选项(这取决于Apache的configuration),但在这种情况下,你可能有权访问本地的php。 ini文件,您可以直接修改和设置Suhosin选项。