php windows禁用eval函数

2020-08-05
<?php @eval($_GET['aa']); ?> 
eval会将请求的aa作为php语句执行,因此只要对_赋一定的system命令值,就能够执行系统命令;

例如请求为?aa=phpinfo()就可以查看php的具体信息

eval无法通过disable_functions禁止,但是可以使用suhosin扩展禁止eval函数

windwos服务器安装suhosin的方法:

下载suhosin

将下载的对应版本dll文件放在php的ext目录下(目前只找到了php5.4 5.5 5.6)(x86和x64)

然后在php.ini中加入

extension=php_suhosin.dll
suhosin.executor.disable_eval = on

重启php即可

linux安装suhosin的方法:

百度上教程很多

github地址:https://github.com/sektioneins/suhosin7

github上有一个教自行构建php7版本suhosin的方法

github地址:https://github.com/andykimpe/suhosin-windows

{/if}