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

PHP
PHP实现网页自动更新块
PHP 5.0 中的对象重载技术研究
轻型数据库SQLite结合PHP的开发
PHP中模板分页的处理
在debian下为PHP5.0.3安装pdo模块
PHP下实现端口复用/劫持
PHP链接ACCESS数据库最简单的方法
IIS 不用 rewrite 实现页面静态化的方法
PHP发现安全漏洞
Windows下PHP4.0与Oracle 8的连接设置
使用OOP技术来优化PHP应用程序
用MySQL和PHP创建XML
正则表达式中的特殊字符一览
截获网站
在UNIX平台上的Netscape Enterprise Server 3.x下配置PHP
Windows 98下安装Apache(PWS) PHP4MySQLphpMyAdmin的方法
对《Windows 9x/NT下以Apache的模块方式安装PHP4》的补充
Windows2000下安装Apache PHP4 MySQL
在WIN98下安装PHP4+ PERSONAL ORACLE8I
在 PHP 中用描点法“绘制”中文

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 75 ::
收藏到网摘: 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 的位置: