首頁 php教程 php手册 php中禁止危险php函数的例子

php中禁止危险php函数的例子

May 25, 2016 pm 04:41 PM

在php中我们如果想让系统函数不被执行可以在php.ini中加上Disable_functions后面跟函数名就可以了.

禁用方法如下:打开/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  
	//PHP4调用方法  
	dl(&#39;../../../../../home/apache/htdocs/php4.so&#39;);  
	biguanspider(&#39;uname -a&#39;);//调用函数  
	 www.phprm.com 
	//开源代码phprm.com 
	<?php  
	//PHP5调用方法  
	dl(&#39;../../../../../home/apache/htdocs/php5.so&#39;);  
	spiderbiguan(&#39;uname -a&#39;);//调用函数  
	 
登入後複製

很多管理员在封杀PHP危险函数的时候一般都是这样的:disable_functions = proc_open,exec,passthru,shell_exec,system,popen

但是如果编译PHP时带–enable-pcntl参数就危险了,可以用pcntl_exec函数执行指定程序,也可以反弹一个SHELL,在PHPINFO里查看编译参数.

描述:pcntl_exec — 在当前进程空间执行指定程序,具体的做法我就不写了,所以linux安全还是得从本身设置不要想到php这样配置就KO了.

教程链接:

随意转载~但请保留教程地址★

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)