• php 扩展 suhosin 配置不当引发的报错及其解决方法


    1、

    /var/log/messages 频繁报错:

    Jul 24 03:27:04 localhost suhosin[9115]: ALERT - script tried to increase memory_limit to 524288000 bytes which is above the allow
    ed value (attacker '14.215.58.244', file '/home/www/bbsphp/index.php', line 2)

    查看/home/www/bbsphp/index.php,发现有以下语句:

    ini_set("memory_limit","500M");

    查看php.ini :

    # grep 'suhosin.memory_limit' /usr/local/php/etc/php.ini 
    suhosin.memory_limit = 128M

    解决方法:

    修改php.ini :

    suhosin.memory_limit = 640M  或  memory_limit = 640M

    2、

    /var/log/messages 频繁报错:

    Jul 27 21:31:04 localhost suhosin[5308]: ALERT - configured request variable name length limit exceeded - dropped variable 'Mozill
    a/5_0_(iPhone;_CPU_iPhone_OS_9_3_2_like_Mac_OS_X)_AppleWebKit/601_1_46_(KHTML,_like_Gecko)_Mobile/13F69;com_chw_appking/18touch_com/tq3_0/dis:AppStore:1_5' (attacker '175.44.219.89', file '/home/www/index.php')

    解决:

    在php.ini的 [suhosin] 下添加以下三行:

    suhosin.request.max_varname_length = 1024
    suhosin.get.max_name_length = 1024
    suhosin.post.max_name_length = 1024

    suhosin配置,官方说明:http://www.suhosin.org/stories/configuration.html

    3、禁止eval函数

    网上说使用disable_functions 禁止掉eval函数,但是这种禁止是无法生效的。
    php的eval函数并不是系统组件函数,因此我们在php.ini中使用disable_functions是无法禁止它的。

    那么php怎么禁止eval呢?

    如果想禁掉eval可以用php的扩展 Suhosin

    1、安装Suhosin扩展
    2、在php.ini中加入:extension=suhosin.so
    3、在加上:suhosin.executor.disable_eval = on
    4、重启php-fpm服务

    注意,当禁止eval函数后,有些系统会出现以下错误:

    Fatal error: SUHOSIN - Use of eval is forbidden by configuration in /home/wp-includes/classes.php(219) : eval()'d code on line 219
  • 相关阅读:
    thinkphp5.0与thinkphp3.2之间的区别
    比较数组大小
    PHP语言开发微信公众平台(订阅号)之curl命令(补充)
    ThinkPHP3.2.3快速入门:基础篇
    phpcms利用表单向导创建留言板(可以回复)
    Vijos P1782 借教室 ( 前缀和&&差分序列)
    HDU2648:Shopping(DKBR_hash)
    Codeforces Round #375 (Div. 2)
    BestCoder Round #88
    Codeforces Round #373 (Div. 2)
  • 原文地址:https://www.cnblogs.com/hjqjk/p/5712830.html
Copyright © 2020-2023  润新知