php中禁止危险php函数的例子
禁用方法如下:打开/etc/php.ini文件,搜索定位到这行:
1.disable_functions =
添加需禁用的函数名,比如如下代码:
phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
相反的如果要运行php运行某个函数删除相应的函数即可,但文章有个“eval”函数,这个不是系统函数所以无法禁止不信大家可试下.
以上只是列了部分不叫常用的文件处理函数,你也可以把上面执行命令函数和这个函数结合,就能够抵制大部分的phpshell了.
但是我后来看一文章告诉我们这样做不是万能的在linux中可以直接突破Disable_functions执行Linux命令,代码如下:
很多管理员在封杀PHP危险函数的时候一般都是这样的:disable_functions = proc_open,exec,passthru,shell_exec,system,popen
但是如果编译PHP时带–enable-pcntl参数就危险了,可以用pcntl_exec函数执行指定程序,也可以反弹一个SHELL,在PHPINFO里查看编译参数.
描述:pcntl_exec — 在当前进程空间执行指定程序,具体的做法我就不写了,所以linux安全还是得从本身设置不要想到php这样配置就KO了.
教程链接:
随意转载~但请保留教程地址★
上一篇: php面向对象与面向过程两种方法给图片添加文字水印,
下一篇: 查询2张表并输出
推荐阅读
-
php中的explode()函数实例介绍
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
php中mail函数发送邮件失败的解决方法
-
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
-
PHP开发框架kohana中处理ajax请求的例子
-
WordPress中调试缩略图的相关PHP函数使用解析
-
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
-
PHP中md5()函数的用法讲解
-
PHP中ltrim()函数的用法与实例讲解
-
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析