Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何覆盖suhosin最大值?_Php_Suhosin - Fatal编程技术网

Php 如何覆盖suhosin最大值?

Php 如何覆盖suhosin最大值?,php,suhosin,Php,Suhosin,suhosin正在筛选一个重要的GET参数。 当以下情况不起作用时,如何覆盖suhosin public\u html/php.ini: [suhosin] suhosin.get.max_value_length = 2048 <IfModule mod_php5.c> php_value suhosin.get.max_value_length 2048 </IfModule> 将suhosin.get.max_value_length等设置为NULL并使

suhosin正在筛选一个重要的GET参数。 当以下情况不起作用时,如何覆盖suhosin

public\u html/php.ini:

[suhosin]
suhosin.get.max_value_length = 2048
<IfModule mod_php5.c>
    php_value suhosin.get.max_value_length 2048
</IfModule>
将suhosin.get.max_value_length等设置为NULL并使用户会话崩溃

-

public\u html/.htaccess:

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

正在筛选的GET参数长度为576个字符。

我们可以通过重新构建$\u 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);
  }

在Debian | Ubuntu系统上,您可以在以下位置全局设置
suhosin
参数:

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

还有一个更短的解决方案:

// Rebuild GET variables
parse_str($_SERVER['QUERY_STRING'], $_GET);

您确定php.ini属于
public\u html
?如果mod_php5不存在,您如何为PHP提供服务?我不确定是否允许本地PHP.ini重写文件。但它确实有效,因为512变为NULL。您可以编辑全局
php.ini
?尝试使用
ini\u get
/
ini\u set
?ini\u set不会有帮助,因为在脚本执行之前需要设置这些值?问题是ini设置何时因权限而无法工作。这刚刚救了我的培根好友,u rock!!