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

 

转载于:https://www.cnblogs.com/hjqjk/p/5712830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值