zoukankan      html  css  js  c++  java
  • php禁用一些重要功能

    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

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

  • 相关阅读:
    如何理解Linux中的load averages?
    如何准备Java初级和高级的技术面试
    大数据java基础吗?
    如何写出没有BUG的代码
    求强连通分量Tarjan算法
    图论_连通_连通分量
    欧拉函数
    二分图,匈牙利算法
    网络流24题(更新中
    一些简单二分题,简单的hash,H(i),字符串题
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4855642.html
Copyright © 2011-2022 走看看