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
//PHP4调用方法
dl('../../../../../home/apache/htdocs/php4.so');
biguanspider('uname -a');//调用函数
?> www.111cn.net

<?php
//PHP5调用方法
dl('../../../../../home/apache/htdocs/php5.so');
spiderbiguan('uname -a');//调用函数
?>

很多管理员在封杀PHP危险函数的时候一般都是这样的:disable_functions = proc_open,exec,passthru,shell_exec,system,popen
但是如果编译PHP时带–enable-pcntl参数就危险了,可以用pcntl_exec函数执行指定程序,也可以反弹一个SHELL,在PHPINFO里查看编译参数。
描述:pcntl_exec — 在当前进程空间执行指定程序,具体的做法我就不写了,所以linux安全还是得从本身设置不要想到php这样配置就KO了。

时间: 2024-09-20 10:26:15

php中禁止危险php函数的例子的相关文章

php中的curl_multi系列函数使用例子_php实例

相信许多人对php手册中语焉不详的curl_multi一族的函数头疼不已,它们文档少,给的例子 更是简单的让你无从借鉴,我也曾经找了许多网页,都没见一个完整的应用例子. curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select 一般来说,想到要

php中array_map数组回调函数使用例子

array array_map ( callable $callback , array $arr1 [, array $... ] ) array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元. callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致.    代码如下 复制代码 function fun($n) { return $n * $n * $n; } $a = array(1, 2, 3, 4

关于java中servlet中的路径的几个函数的例子

关于servlet中的路径的几个函数的例子: 假设有如下请求的路径: http://192.168.1.191:8083/CitizenWeb/TestServlet?ywdm=01&czmd=02&dd=00030 1. /CitizenWeb request.getContextPath();  2.  TestServlet request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/&qu

PowerShell中简单的自定义函数和调用函数例子_PowerShell

在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数? 在PowerShell中,我们可以使用函数(function)来简化编程开发.在PowerShell中使用function这个关键词来标识一个函数.一个自定义的函数,由function关键词开始,然后用一对大括号来包括起整个函数体的内容. 我们先来看一下简单的PowerShell函数: 复制代码 代码如下: function Test-Function {     Write-Ho

ASP 编程中 20 个非常有用的例子——适合初学者

编程|初学|初学 如果内容很多,请先在本机编辑好,以免session过期导致内容丢失.ASP 编程中 20 个非常有用的例子 1.如何用Asp判断你的网站的虚拟物理路径 答:使用Mappath方法 < p align="center" >< font size="4" face="Arial" >< b > The Physical path to this virtual website is: < /

ASP 编程中20个非常有用的例子

编程 ASP 编程中 20 个非常有用的例子1.如何用Asp判断你的网站的虚拟物理路径 答:使用Mappath方法 < p align="center" >< font size="4" face="Arial" >< b > The Physical path to this virtual website is: < /b >< /font > < font color=&qu

ASP编程中15个非常有用的例子 (二)

ASP编程中15个非常有用的例子 enet学院 8.强迫输入密码对话框 答把这句话放载页面的开头 <% response.status="401 not Authorized" response.end %> 9 如何传递变量从一页到另一页 答 用HIDDEN类型来传递变量 <% form method="post" action="mynextpage.asp"> <% for each item in reque

ASP编程中15个非常有用的例子 (二)(转)

编程 ASP编程中15个非常有用的例子 enet学院 8.强迫输入密码对话框 答把这句话放载页面的开头 <% response.status="401 not Authorized" response.end %> 9 如何传递变量从一页到另一页 答 用HIDDEN类型来传递变量 <% form method="post" action="mynextpage.asp"> <% for each item in re

在PL/SQL 开发中调试存储过程和函数的一般性方法

存储过程|函数 在PL/SQL 开发中调试存储过程和函数的一般性方法摘要: Oracle 在PLSQL中提供的强大特性使得数据库开发人员可以在数据库端完成功能足够复杂的任务, 本文将结合Oracle提供的相关程序包(package)以及一个非常优秀的第三方开发工具来介绍在PLSQL中开发及调试存储过程的方法,当然也适用于函数. 版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息.原文出处: http://www.aiview.com/notes/ora_using_