PHP防注入之程序里的敏感信息_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP防注入之程序里的敏感信息_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3186字,纯文字阅读大概需要5分钟。
内容图文
![PHP防注入之程序里的敏感信息_PHP教程](/upload/InfoBanner/zyjiaocheng/178/df3c56ca987240559fe1dd9686b40f4e.jpg)
简单点来说就是你不想让别人知道的信息,比如说数据库的地址,用户名,密码等等,此类信息往往知道的人越少越好。
通常,PHP程序里的配置文件大致如下所示:
代码如下 | |
|
有时候出于某些原因,比如说代码审查,亦或者合作开发等等,第三方需要获取代码版本仓库的读权限,一旦授权,数据库的地址,用户名,密码等敏感信息就暴露了。当然也可以不在代码版本仓库里保存配置文件,取而代之是撰写文档进行说明,但我不喜欢这样的方法,因为如此一来,代码本身是不完整的。
如何解决此类问题呢?最直接的方法是把敏感信息从代码中拿掉,换个地方保存。具体保存到哪里呢?有很多选择,比如说通过nginx的fastcgi_param来设置:
代码如下 | |
fastcgi_param DATABASE_HOST 192.168.0.1; |
经过这样的映射后,我们的代码就不会直接包含敏感信息了:
代码如下 | |
|
此外,还可以通过php-fpm的env指令来设置:
代码如下 | |
env[DATABASE_HOST] = 192.168.0.1 |
需要说明的一点是,这个设置必须放在主配置文件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配置文件并不需要很多人有权限,所以相对更容易管理
还有一个重要的函数phpinfo()这个大家一定要注意了,如能正常显示phpinfo函数我们可
详情
PHPInfo提供了以下一些信息:
*PHP 版本 (包括build版本在内的精确版本信息)
*系统版本信息(包括build版本在内的精确版本信息)
*扩展目录(PHP所在目录)
*SMTP服务器信息
*Sendmail路径(如果Sendmail安装了的话)
*Posix版本信息
*数据库
*ODBC 设置(包括的路径,数据库名,默认的密码等等)
*MySQL 客户端的版本信息(包括build版本在内的精确版本信息)
*Oracle版本信息和库的路径
*所在位置的实际路径
*Web 服务器
*IIS 版本信息
*Apache 版本信息
*如果在Win32下运行:
*计算机名
*Windows目录的位置
*路径(能用来泄漏已安装的软件信息)
例子:
访问一个类似于下面的URL:
http://www.example.com/PHP/phpinfo.php
http://www.bkjia.com/PHPjc/629613.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629613.htmlTechArticlephp安全之一的PHP防注入是我们程序员必须了解与撑握的一项技术了,下面我来给各位同学介绍对于我们程序里的敏感信息的一些安全做法。...
内容总结
以上是互联网集市为您收集整理的PHP防注入之程序里的敏感信息_PHP教程全部内容,希望文章能够帮你解决PHP防注入之程序里的敏感信息_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。