有时候为了安全我们需要禁掉一些PHP危险函数,本文整理了一些PHP中的危险函数,以供大家参考。

函数作用建议级别
phpinfo输出 PHP 环境信息以及相关的模块、WEB 环境等信息。禁用影响不大
passthru允许执行一个外部程序并回显输出禁用影响不大
exec允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)禁用影响不大
system允许执行一个外部程序并回显输出禁用影响不大
chroot可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式禁用影响不大
scandir列出指定路径中的文件和目录。有可能受影响
chgrp改变文件或目录所属的用户组。禁用影响不大
chown改变文件或目录的所有者禁用影响不大
shell_exec通过 Shell 执行命令,并将执行结果作为字符串返回。禁用影响不大
proc_open执行一个命令并打开文件指针用于读取以及写入。禁用有可能没法执行定时任务
proc_get_status获取使用 proc_open () 所打开进程的信息。禁用有可能没法执行定时任务
ini_alter、ini_set可用于修改、设置 PHP 环境配置参数。禁用影响不大
ini_restore可用于恢复 PHP 环境配置参数到其初始值。禁用影响不大
dl在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块禁用影响不大
pfsockopen建立一个 Internet 或 UNIX 域的 socket 持久连接禁用可能会影响 RPC、Socket 通信等
syslog可调用 UNIX 系统的系统层 syslog () 函数禁用影响不大
readlink返回符号连接指向的目标文件内容禁用影响不大
symlink创建软链接禁用影响不大
popen可通过 popen () 的参数传递一条命令,并对 popen () 所打开的文件进行执行禁用影响不大
stream_socket_server建立一个 Internet 或 UNIX 服务器连接禁用可能会影响 RPC、Socket 通信等

注:以上结果,并不是最终结果。最终需要结合业务,分析其对业务的影响范围。禁用的方法如下。

打开php.ini,搜索disable_functions,追加即可。

disable_functions = passthru,exec,system,chroot,chgrp,chown,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,popepassthru,stream_socket_server

推荐教程:《PHP教程》

更多相关文章

  1. PHP中的面向对象之构造函数详解
  2. php面向对象之析构函数和对象引用
  3. Linux下查看PHP配置文件php.ini的位置
  4. 分享一个生成文件层级树类
  5. 构造函数在php中的使用方法(附示例)
  6. php中函数参数传递的3种方式和区别(附详解)
  7. 包含文件include和require在php中的区别(含详解)
  8. substr函数在php中截取部分字符串(附详解)
  9. php中Date函数和时间戳函数及它们之间格式转换教程(附实例)

随机推荐

  1. Android中字体加粗
  2. Android Studio启动安卓虚拟机失败,附Andr
  3. Android按钮美化
  4. 安卓XML布局,相对布局的常用属性~
  5. android 自带的主题 theme 的使用
  6. 【eoeAndroid社区索引】android 条形码的
  7. android 之 install Location
  8. java解析json字符串的两种方法详解(Andro
  9. Android 输入限制
  10. 非一般的原因:Unable instantiate applica