当前位置:  编程技术>php

PHP程序中敏感信息要关注哪些

    来源: 互联网  发布时间:2014-10-08

    本文导语:  通常,PHP程序配置文件大致如下:   代码示例:   有时候出于某些原因,比如说代码审查,亦或者合作开发等等,第三方需要获取代码版本仓库的读权限,一旦授权,数据库的地址,用户名,密码等敏感信息就暴露了。当然...

通常,PHP程序配置文件大致如下:
 

代码示例:

 

有时候出于某些原因,比如说代码审查,亦或者合作开发等等,第三方需要获取代码版本仓库的读权限,一旦授权,数据库的地址,用户名,密码等敏感信息就暴露了。当然也可以不在代码版本仓库里保存配置文件,取而代之是撰写文档进行说明,但我不喜欢这样的方法,因为如此一来,代码本身是不完整的。

如何解决此类问题呢?
最直接的方法是把敏感信息从代码中拿掉,换个地方保存。具体保存到哪里呢?有很多选择,比如说通过nginx的fastcgi_param来设置:
 

fastcgi_param DATABASE_HOST 192.168.0.1;
fastcgi_param DATABASE_USER administrator;
fastcgi_param DATABASE_PASSWORD e1bfd762321e409cee4ac0b6e841963c;
 

经过这样的映射后,我们的代码就不会直接包含敏感信息了:
 

代码示例:

 

此外,还可以通过php-fpm的env指令来设置:
 

env[DATABASE_HOST] = 192.168.0.1
env[DATABASE_USERNAME] = administrator
env[DATABASE_PASSWORD] = e1bfd762321e409cee4ac0b6e841963c
 

需要说明的一点是,这个设置必须放在主配置文件php-fpm.conf里,不能放到include指令设置的子配置文件里,否则会报错:「Array are not allowed in the global section」;另外一点,虽然是通过env设置的,但结果还是在$_SERVER里,而不是$_ENV。

说明: @Laruence 提醒了我,如果配置信息通过nginx的fastcgi_param来设置的话,当nginx和php交互时,会带来大量的数据传输(如此看来通过php-fpm的env来设置相对更有优势),鸟哥建议使用独立的扩展来搞定,比如「hidef」。

通过nginx和php-fpm配置文件来解决问题的话,有一个缺点,仅对Web有效,如果通过命令行来运行,那么无法在$_SERVER里获取相关信息,不过这不算什么难事儿,只要写个公共的脚本正则匹配一下nginx或者php-fpm的配置文件,就可以动态的把这些信息映射到命令行环境,具体怎么搞就留给大家自己操作吧。

剩下的工作就是如何确保nginx或php-fpm配置文件的安全了,不过和代码比起来,nginx或php-fpm配置文件并不需要很多人有权限,所以相对更容易管理。


    
 
 

您可能感兴趣的文章:

  • PHP 应用跟踪诊断程序 PHP Debug
  • 如何使用crontab来定时执行一个.php的程序
  • linux8.0+apache2.0.45+php4.3.1,php程序为什么不能用require???急呀!!!!!
  • PHP博客程序 PHPnew
  • php相册程序 TFTgallery
  • 开源的统计应用程序 PHP Web Stat
  • PHP文件夹列表程序 synDirectory
  • php 使用system() 调用c程序的问题
  • Rails下运行PHP程序 Phuby
  • 开源php博客程序 Swan
  • PHP应用程序开发框架 CMSPAD
  • 好象我的apache服务器不解析我的php程序啊(why)
  • PHP应用程序框架和库 SolarPHP
  • 基于PHP+MySQL的开源博客程序 JBLOG
  • PHP代理脚本程序 phpMyProxy
  • 羽量级PHP应用程序开发框架 WANGFRAME
  • PHP程序员基本要求和必备技能
  • PHP微博客程序 winblog
  • php计算当前程序执行时间
  • PHP百度天气预报小偷程序
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php服务器探针显示php服务器信息
  • PHP获取php,mysql,apche的版本信息示例代码
  • php探针不显示cpu、内存、硬盘信息原因分析
  • php屏蔽浏览器头信息X-Powered-By
  • phpinfo()获取php服务器配置信息
  • PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
  • php中使用getimagesize获取图片、flash等文件的尺寸信息实例
  • php读取目录所有文件信息dir示例
  • php中自定义函数dump查看数组信息类似var_dump
  • 独立分类信息系统 PHP168
  • php使用请求头信息获取远程图片大小
  • php查看请求头信息获取远程图片大小的方法分享
  • php获取图片exif信息的小例子
  • php获取图片的exif信息的示例代码
  • PHP分类信息系统 MyMPS
  • PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
  • PHP根据IP判断地区名信息的示例代码
  • php正则为css和js链接增加版本信息(示例)
  • php根据isbn书号查询amazon网站图书信息
  • PHP伪造referer信息的示例代码
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • 移动开发 iis7站长之家
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3