passthru()

功能叙述性说明:我们同意将运行外部程序和回音输出。分类似至 exec()。

临界水平:高

exec()

功能叙述性说明:同意运行外部程序(例如 UNIX Shell 要么 CMD 命令等)。

危急等级:高

assert()

功能描写叙述:假设依照默认值来。在程序的运行过程中调用assert()来进行推断表达式,遇到false时程序也是会继续运行的。跟eval()类似。只是eval($code_str)仅仅是运行符合php编码规范的$code_str。assert的使用方法却更具体一点。

危急等级:高

system()

功能描写叙述:同意运行一个外部程序并回显输出。类似于 passthru()。

危急等级:高

chroot()

功能描写叙述:可改变当前 PHP 进程的工作根文件夹。仅当系统支持 CLI 模式PHP 时才干工作,且该函数不适用于 Windows 系统。

危急等级:高

chgrp()

功能描写叙述:改变文件或文件夹所属的用户组。

危急等级:高

chown()

功能描写叙述:改变文件或文件夹的全部者。

危急等级:高

shell_exec()

功能描写叙述:通过 Shell 运行命令。并将运行结果作为字符串返回。

危急等级:高

proc_open()

功能描写叙述:运行一个命令并打开文件指针用于读取以及写入。

危急等级:高

ini_restore()

功能描写叙述:可用于恢复 PHP 环境配置參数到其初始值。

危急等级:高

dl()

功能描写叙述:在 PHP 进行执行过程其中(而非启动时)载入一个 PHP 外部模块。

危急等级:高

readlink()

功能描写叙述:返回符号连接指向的目标文件内容。

危急等级:中

symlink()

功能描写叙述:在 UNIX 系统中建立一个符号链接。

危急等级:高

popen()

功能描写叙述:可通过 popen() 的參数传递一条命令,并对 popen() 所打开的文件进行运行。

危急等级:高

stream_socket_server()

功能描写叙述:建立一个 Internet 或 UNIX server连接。

危急等级:中

pfsockopen()

功能描写叙述:建立一个 Internet 或 UNIX 域的 socket 持久连接。

危急等级:高

putenv()

功能描写叙述:用于在 PHP 执行时改变系统字符集环境。在低于 5.2.6 版本号的 PHP 中,可利用该函数改动系统字符集环境后,利用 sendmail 指令发送特殊參数执行系统 SHELL 命令。

危急等级:高

改动方法:

打开/etc/php.ini文件,

查找到 disable_functions ,改动为:disable_functions=passthru,exec,assert,system,chroot,chgrp,chown,shell_exec,proc_open,ini_restore,dl,readlink,symlink,popen,stream_socket_server,pfsockopen,putenv

哦。eval禁用不了。须要借助:php Suhosin。

禁用的方法能够依据自己的环境来酌情加入,事实上curl_exec(),fopen(),file_get_contents()等都是非常危急的,另一些文件夹浏览的方法,可是实际项目中要用到,所以不能禁用了。

nginx的话,能够限制一些静态文件路径不能运行php。例如以下(文件夹改成自己的静态文件文件夹):

  1. location ~ /(style|html|cache|config|js|css|image|log|images|uploads|upload|attachments|templets)/.*\.(php|php5)? $ {
  2. deny all;
  3. }

这样安全性也会更好一些。然后兴许会多补充一些,工作也忙。

很多其它:http://www.webyang.net/Html/web/article_125.html

版权声明:本文博主原创文章,博客,未经同意不得转载。

php禁用一些重要功能的更多相关文章

  1. jquery禁用右键单击功能屏蔽F5刷新

    1.禁用右键单击功能$(document).ready(function() { $(document).bind("contextmenu",function(e) { aler ...

  2. 禁用选择文本功能user-select

    有时候,我们为了用户体验,需要禁用选择文本功能. 这需要用到一个CSS属性:user-select,user-select的文档点这里 user-select有两个值:none:用户不能选择文本tex ...

  3. session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?

    cookie 和session 的区别: a.cookie数据存放在客户的浏览器上,session数据放在服务器上. b.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE ...

  4. laravel 中禁用掉注册功能

    想让 laravel 做单用户登录,禁止掉注册功能 在 RegisterController 添加以下方法 public function showRegistrationForm() { retur ...

  5. 联想电脑Fn+F6禁用触摸板功能不管用

    我的原因是电脑没有安装触摸板驱动,解决方法:去联想官网根据自己的主机编号下载适合自己的触摸板驱动,安装重启即可解决

  6. Win7 如何禁用“切换用户”功能

    1.按win+r,输入gpedit.msc,点击确定: 2.依次点击计算机配置--管理模块--系统--登录,右侧列表中找到“隐藏“快速用户切换”的入口点”: 3.双击隐藏“快速用户切换”的入口点,点击 ...

  7. win10上如何启用或禁用Windows功能

    Windows10上提供了很多的功能,比如打印服务.传真服务.媒体服务等,怎样启用或禁用某些Windows功能呢? 工具/原料   windows10 方法/步骤     点击左下角的Windows图 ...

  8. 联想ThinkPadE455实现FN禁用(F1-F12标准功能与特殊功能切换)

    系统:Win7 64 位     机型:联想ThinkPadE455笔记本 方法一:键盘Fn热键切换功能(亲测可用) Fn+Esc   FnLk  组合键方法启用或禁用Fn锁定功能 具体说明(这个逻辑 ...

  9. WPF编程,窗体最大化、最小化、关闭按钮功能的禁用

    原文:WPF编程,窗体最大化.最小化.关闭按钮功能的禁用 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/detail ...

随机推荐

  1. 【Android进阶】关于PagerAdapter的使用方法的总结

    PagerAdapter简介 PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter, FragmentStatePagerAdap ...

  2. unity调用安卓打包apk时的错误unable to convert classes into dex format

    出现这种问题一般是由于有重复的文件所致,看下unity报的错误那些文件重复了,把重复的文件删了即可 例如,将eclipse中的安卓工程bin\class导出jar包时,会将下面的.class文件打包, ...

  3. NET5实践:项目创建-结构概述-程序运行-发布部署

    ASP.NET5实践01:项目创建-结构概述-程序运行-发布部署   1.项目创建 ASP.NET5项目模板有三种: 新建项目: 选择模板: 2.结构概述 References对应配置是project ...

  4. 实现DataGridView行的拖动,即实现行的顺序交换

    参考:http://blog.csdn.net/soarheaven/article/details/3267379 1.界面准备 (1)首先在form中添加一个DataGridView控件,将默认A ...

  5. dlmalloc 2.8.6 源代码具体解释(6)

    本文章由vector03原创, 转载请注明出处. 邮箱地址: mmzsmm@163.com, 欢迎来信讨论. 3.4 sys_alloc sys_alloc是dlmalloc中向系统获取内存的主要接口 ...

  6. Ozmosis实现BIOS直接启动Yosemite,基本完美

    我的主板是 技嘉 z97 d3h,共享一下我制作好的  Ozmosis

  7. toString()和String.valueof()比较

     toString()和String.valueof()比较 做项目时常常会用到类型转换,比较常用的是toString(),但其实还是用String.valueof()比较好.看源码后他们的区别就更加 ...

  8. OpenGL学习日记-2015.3.13——多实例渲染

        实例化(instancing)或者多实例渲染(instancd rendering)是一种连续运行多条同样渲染命令的方法.而且每一个命令的所产生的渲染结果都会有轻微的差异. 是一种很有效的.有 ...

  9. SharePoint使用BCS开发你第一个应用程序(三)

    SharePoint使用BCS开发你第一个应用程序(三) 创建外部内容类型.         创建外部内容类型有三种不同方式: 1. 在记事本上手写XML代码(不推荐). 2. 使用SharePoin ...

  10. 4安德鲁斯.2.2在系统,具有系统权限的应用程序无法读取或写入SD卡

    有两个解决方案: 1.通过改动android系统的源代码,开放SD卡的读写权限,具体的改动方法和说明.能够參考网上资料http://www.ifeegoo.com/android-debug-stat ...