3

我在我的 ini 文件中设置了 suhosin.perdir = 'p' 。我现在想按文件夹更改 suhosin ini 设置。

以下所有工作(在所需文件夹中运行 phpinfo() 显示更改的值):

php_value suhosin.post.max_array_depth 100
php_value suhosin.post.max_array_index_length 128
php_value suhosin.post.max_name_length 128
php_value suhosin.post.max_value_length 2000000
php_value suhosin.post.max_totalname_length 512
php_value suhosin.post.max_vars 1000

但是,当我还添加 .request 设置(我知道这是 .post 设置的上限)时,它们不会改变:

php_value suhosin.request.max_array_depth 100
php_value suhosin.request.max_array_index_length 128
php_value suhosin.request.max_name_length 128
php_value suhosin.request.max_value_length  2000000
php_value suhosin.request.max_totalname_length 512
php_value suhosin.request.max_vars 1000

phpinfo的截图

你知道我是否还有其他需要检查/设置的东西吗?我是不是忘记了什么?

谢谢!马太

4

1 回答 1

4

好的,我终于找到了解决方案。当我发现这篇文章时,我正打算下载 Suhosin 代码来看看,解释说 perdir "p" 指令只影响 post 变量:

/* no deactivation so check the flags */
while (*tmp) {
    switch (*tmp) {
        case 'l':
        case 'L':
            SUHOSIN_G(log_perdir) = 1;
            break;
        case 'e':
        case 'E':
            SUHOSIN_G(exec_perdir) = 1;
            break;
        case 'g':
        case 'G':
            SUHOSIN_G(get_perdir) = 1;
            break;
        case 'c':
        case 'C':
            SUHOSIN_G(cookie_perdir) = 1;
            break;
        case 'p':
        case 'P':
            SUHOSIN_G(post_perdir) = 1;
            break;
        case 'r':
        case 'R':
            SUHOSIN_G(request_perdir) = 1;
            break;
        case 's':
        case 'S':
            SUHOSIN_G(sql_perdir) = 1;
            break;
        case 'u':
        case 'U':
            SUHOSIN_G(upload_perdir) = 1;
            break;
        case 'm':
        case 'M':
            SUHOSIN_G(misc_perdir) = 1;
            break;
    }
    tmp++;
}

如果您想要每个帖子和请求的 perdir 选项,您需要编辑您的php.ini

suhosin.perdir=pr

.htaccess

php_value suhosin.perdir pr

所以perdir的值为pr

于 2012-05-28T12:46:35.420 回答