如何覆盖了Suhosin最大值?(How to override suhosin max value

2019-09-23 11:34发布

一个重要的GET参数是受到了Suhosin过滤。 如何重写了Suhosin当出现以下不起作用?

的public_html / php.ini中:

[suhosin]
suhosin.get.max_value_length = 2048

集等等suhosin.get.max_value_length为NULL,崩溃用户会话。

-

的public_html /的.htaccess:

<IfModule mod_php5.c>
    php_value suhosin.get.max_value_length 2048
</IfModule>

没有效果

-

(系统默认设置为:)

suhosin.get.max_value_length = 512
suhosin.get.max_value_length = 100000

被过滤的GET参数是576个字符长。

Answer 1:

我们可以通过重新建设的$ _GET绕过了Suhosin

// Override suhosin $_GET limitation
  $_GET = array();
  $params = explode('&', $_SERVER['QUERY_STRING']);
  foreach ($params as $pair) {
    list($key, $value) = explode('=', $pair);
    $_GET[urldecode($key)] = urldecode($value);
  }


Answer 2:

在Debian | Ubuntu的系统可以设置suhosin全局参数:

/etc/php5/conf.d/suhosin.ini


文章来源: How to override suhosin max value?
标签: php suhosin