当前位置: 首页 > 图文教程 > 网络编程 > PHP > 理解PHP及其安全问题的入门知识

PHP
网站开发者参考:开源PHP网站源码
PHP教程:PHP开发网站代码编写规范
PHP教程:WebService最常用的两种方法
PHP通过SQL语句将数据写入MySQL数据库指定的表
PHP教程:修改discuz兼容自己开发的通行证
PHP教程:strlen与mb_strlen字符串长度函数
Apache的mod_rewrite模块拒绝盗链
windows 2003虚拟主机用httpd.ini控制盗链
PHP6的核心是对Unicode的内置支持
提高系统性能用eAccelerator优化PHP
10个开源的PHP网站内容管理系统
php中3des加密(完全与.net中的兼容)
PHP教程:时间函数
PHP教程:UCenter的MVC架构
PHP教程:PHP解析HTML字符串的问题
PHP教程:PHP截取HTML代码串问题
PhpSecInfo列出PHP环境设定中存在的安全问题
PHP教程:preg_replace_callback()函数
Google网站管理员工具的验证问题
解决PHP相对目录问题最有效的办法

理解PHP及其安全问题的入门知识


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 114 ::
收藏到网摘: n/a

  有时候,您的业务可能涉及到 PHP 应用程序的安全性。当您遇到审计任务时,您知道如何执行查找吗?本系列将带您进入 PHP,并帮您在一定程序上了解它,让您在进行安全审计时知道查找什么。第 1 部分向您介绍 register_globals 设置。
  
  入门知识
  
  我在此假定您对 PHP 的语法有一个大致的了解,至少能够编写“Hello World”之类的程序。如果您不具备基础知识,则请首先学习 PHP 手册和某些基本的 PHP 教程(参阅 参考资料)。很多出版商都有关于 PHP 的好书。建议初学者一开始先看看入门书籍或食谱形式的书籍。
  
  在生产环境的准确副本上执行审计。您不需要复制硬件,但是需要确保软件版本尽量和实际的完全一样。PHP 配置必须精确匹配,这一点在 php.ini 文件中、在 .htaccess 文件的 Apache 指令中或在 httpd.conf 中已经指定。您需要准备一个单独的环境,因为您将显示和记录可能包含敏感的密码及其他信息的错误。此外,您将尝试中断站点的安全性,这一点是您在活动应用程序中极力避免的。
  
  第一步是将 PHP 的 error_reporting 设置更改为 E_ALL。设置更改后,每当使用未初始化的变量、进行错误的文件访问及发生其他(大多数)无害错误时,PHP 都会报告一条警告消息,但也存在这是一个潜在攻击矢量的可能性。这些错误一般情况下只是表明编程草率,所以如果这是您的代码,您把它们清除掉即可。
  
  该设置如下所示:
  
  error_reporting = E_ALL
  
  如果您不知道 php.ini 文件在哪里,则可以通过创建包含以下文本的 .php 脚本来查找:
  
  <?php
  
  phpinfo();
  
  输出的上面部分有一行列出了 PHP 查找 php.ini 的位置: