PHP代码审计-配置文件

配置文件

php.ini : 对于服务器模块版本的PHP,仅在web服务器启动时读取一次,对于CGI和CLI版本,每次调用都会读取。
        CGI :“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,
        其程序须运行在网络服务器上。以CGI方式运行时,webserver将用户请求  以消息的方式转交给PHP独立进程, 
        PHP与web服务之间无从属关系。纯粹调用--返回结果的形式通讯。而模块方式,则是将PHP做为web-server的子进程控制,两者有从属关系  
        最明显的例子就是在CGI模式下,如果修改了PHP.INI的配置文件,不用重启web服务便可生效,而模块模式下则需要重启web服务。


        CLI :“ 命令行界面”(Command Line Interface),可在用户提示符下键入可执行指令的界面。CLI则是命令行接口,用于在操作系统  
        命令行模式下执行PHP,比如可以直接在win的cmd或Linux的shell模式下直接输入 php a.php 来得到结果。它与CGI模式最大的不同的  
        地方在于既不会输出HTTP头信息(CGI模式除了输出用户能看到的结果外,还会输出用户不能直接看到的HTTP 头信息),抛出的信息也直接以  
        文本方式而不以  HTML方式给出,比如新建一个 test.php,写入内容 <?php phpinfo();?>在浏览器中可以看到以HTML表格描述的信息,
        而在命令行输入 phptest.php则会直接看到纯文本的输出。
        
        
.user.ini:自PHP5.3开始。PHP支持基于每个目录的.htaccess风格的INI文件,此类文件仅被CGI/FastCGI SAPI处理。此功能是PECL的htaccess扩展作废。如果使用Apache,则用.htaccess文件有同样效果。可以再httpd.conf中覆盖php.ini的值。
复制代码

配置命令

    directive = value
    启用全局变量: register_globals=off
            启动为ON,php会讲$_POST,$_GET,$_COOKLE,$_ENV,$SESSION数组中的$key=>$value直接注册为变量,比如$_POST['USEname'] 则会注册为$USEname。 
            新版本废弃,安全问题:变量之间互相覆盖,引起不必要的麻烦。
    
    
    短标签:short_open_tag=on
            允许用缩写的方式写php ,这个设置主要是决定是否允许使用PHP代码开始标志的缩写形式(<??>)。如果禁用了,必须使用PHP代码开始的标志的完整形式(<?php ?>)
            也影响到缩写形式<?= 这个和<?echo 等价 因此避免文件上传分析特征<?php ?>被绕过关闭此函数
    安全模式:safe_mode=off
            被移除。5.4.0,之前版本可以使用
            
    禁用类/函数
        disable_classes=,disable_functions=,disable_functions=opendir,readdir,scandir,fopen,unlink
            禁用某些类,进制某些函数,接受逗号分隔函数名列表作为参数。只能再php.ini配置
            
    上传文件 :file_uploads=on
    上传文件大小:upload_max_filesize=8m
    文件上传临时目录:upload_tmp_dir=
    用户访问目录限制:open_basedir=.:/tmp/   
            设置此选项可以控制php脚本只能访问只能目录,这样避免访问不应被访问的目录,一定程度限制了phps  
            hell危害。我们一般可以设置只能访问网站目录(php脚本文件所在目录和/tmp/目录),表示允许访问  目录。
            防止php木马跨站运行。
    错误信息控制:display_error=on 
            是否将错误信息作为输出的一部分,站点发布后应该关闭这项功能,以免暴露信息。调试的时候打开
    设置错误报告级别:error_reporting=E_ALL
            这个设置将错误级别设置为最高,可以显示所有问题。方便查错。
    错误日志:error_log=
                    错误日志的位置。不定义写到web服务器的错误日志中去
              log_errors=on
                    将错误日志输出到文件而不是前端。
              log_errors_max_length=1024
                    错误日志关联信息的最大长度。设为0表示无限长度
    魔术引号:magic_quotes_gpc=on
              magic_quotes_runtime=off
                    为GPC(GET/POST/Cookie)操作设置magic_quotes状态。当magic_quotes为on,所有的'"\和null被一个反斜杠自动转义"
    是否允许打开远程文件:allow_url_fopen=on
    
    是否允许包含远程文件:allow_url_include=off复制代码

转载于:https://juejin.im/post/5c9a0a95f265da60ea146e0c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值