业界 | 信息 | 基础 | 配置 | 安全 | 系统 | 方案 | 协议 | 硬件 | 下载 | 制度 | 漏洞 | 解密 | 群集 | 论文 | 导购 | 数据库 | 反病毒 | 反黑客 | 白皮书 | 负载均衡 | Windows | Linux | Unix |
热门搜索:  安全  ?务器  IIS  VMWare  微软  企业  网络  黑客  win  sql RSS订阅
服务器安全资讯网

服安最新信息资讯

服务器安全资讯网

服安资讯热点推荐

服务器安全资讯网

服安资讯阅览排行

信息安全法律法规

服务器安全技术资讯

服安解决方案

PHP开发安全建议TOP20 part3

来源:   时间:2008-06-27  作者:  点击:次  责任编辑:Flyfox
TAG:     服务器安全应急处理中心:让您的服务器更安全!  进入安全讨论社区 

摘要:
9.有时最简单的也就是最安全的。以下的建议很简单,但是我们很惊讶在现实生活中很少有人理解以及使用。   不要将敏感信息放于网上   思考一下下面这个目录
9.有时最简单的也就是最安全的。以下的建议很简单,但是我们很惊讶在现实生活中很少有人理解以及使用。

  不要将敏感信息放于网上

  思考一下下面这个目录结构:

      /htdocs
  /includes
  /images
  /js


  如果你将你的数据库的信任状存储于一个名为db.inc的文件中,然后将其放于这一目录之下,很可能就有人下载这一文件夹名下的信息,只要他们访问http://example.com/includes/db.inc.站点,因为绝大多数的网站服务器并不知道如何处理这一.inc文件,如果有访问请求的话,它们直接被认为是纯文本。后果是可怕的。如果你存储信任状的文件使用的是非.php后缀名的话并且位于你的网络服务器的根目录之下,很可能你的信息正在泄露。

  解决方法很简单。将所有的敏感信息置于网络服务器的根目录之外。现在也有很多专家提倡把绝大多数的php代码放于网络服务器根目录之外。因为php代码不限于同一个限制,你可以在根目录的同一文件层次之下建立一个目录,然后将你的所有的机密信息和代码放在那。

      /phpinc
  /includes
  /htdocs
  /images
  /js


10.即时所有的事情都做的完美无缺,你构建的php代码仍然存在安全隐患。安全需要永恒的警惕之心。有一件事情你需要时刻保持注意,那就是依赖入流量发送邮件的脚本。许多使用php编写的应用程序使用内置的mail()功能来回应邮件触发的用户流量。

  不要盲目的使用信息发送邮件

  正如我们在其它的关于php的安全建议中谈到的一样,你要确保适当的过滤和确认用户的输入。如果你没有恰当的过滤入流的话,很可能就有人在你没有注意之前使用电子邮件注入以及发送成千的垃圾邮件。

  11.我们都认为用户既是我们开发的程序是天使也是魔鬼。一方面,要是没有用户的话也就不会存在安全问题了。再者,要是没有用户,我们就没有必要开发应用程序了。因此我们认为不能让客户流失。这就是说必须要他们知晓相关的安全问题。我们可以采取如下措施:

  最少权限原则

  只给予用户最低层次的许可

  这是最基本的编程原则,在绝大多数的Unix中可以看到。处理unix中的用户和资源的时候,用户清楚无误的知道自己的访问权限。用户的访问权限只足以访问最基本的资源。我们在开发应用程序的时候也可以借鉴这一概念。

  许多现代的php构架都使用了这一概念或是授权访问控制。在Zend构架中,授权是由Zend_Auth处理,但是访问控制是由另外一个Zend_Acl处理的。

  不管你使用哪一个结构,一个好的安全策略就是在网页或图片上设置访问限制。不管什么时候,要将用户的访问权限限制到最低程度。

  12.我们已经谈论过过滤,确认以及再次谈论过滤。过滤应用程序的输入是一个很重要的概念,它应该先于很多安全策略之前执行。尽管如此,即使你执行了良好的过滤制度和确认制度,这并不意味这你可以高枕无忧了。在编程的整个过程都必须谨记安全问题。

  过滤输入让一些程序开发人员产生了安全错觉。他们武断的认为既然已经采取了过滤措施,就没有必要担心安全问题了。在一些简单的程序中可能确实是没有什么问题,但是在一些复杂的程序中就不然了,你要知道使用这些输入是干什么的。在用户在eval()命令使用输入的时候的时候就可以看出。以下是一些建议:

  在使用eval()之前认真思考一下

  通过在eval()中使用用户输入参数,你很可能给恶意用户访问服务器开了后门。即使你的操作界面仅仅允许他们选择已经设置好的界面,使用你的脚本哄骗,那么你的脚本很可能就会被别有用心之人用来即时执行罪恶的行当。

  尽量少使用eval()。当你不得不使用的时候,一定要保证过滤和确认输入的有效性。如果还有其它选择的话,就使用另外的方法。

  13.安全要常记心中,而不是偶然为之。它和代码一样为你的程序增彩。尽管如此,你还需要实时监控你的产品环境。那就是我们为什么要选择正确的工具的原因。我之前提过PHPSecInfo,这一工具足以保证自身的安全。

  PHPSecInfo可以有效的监视你的产品环境。

  PHPSecInfo提供与phpinfo()相似的功能,它可以提供关于php环境的安全信息,并且提供改进建议。但是它并不是安全开发技术的替代品,也不提供任何形式的代码或是程序监测,但是在多层次安全策略中很有效。

  对于安全建议,单靠自身是远远不够的。恰当的组合可以发挥很大的效用。

  14.几乎所有的应用程序都在使用网络技术的后端用户上运行php,因为这是前期工作。许多开发人员在php安全上苦思冥想,却不注意前期的开发工作。以下就是关于在构建HTML和java脚本时应该考虑的一些问题。

  任何位于cookie中的数据都可能被其他人看到——将其降低到最低限度

  现在的网络很令人失望,坏人太多。他们等着你的应用程序的信息泄露然后利用这些敏感信息获取利益。评估应用程序安全的时候一定要综合考虑。当你在前期输入数据的时候,这尤其重要。
顶一下
(0)
0%
踩一下
(0)
0%
服务器安全维护网:为您的服务器安全、稳定运行助航,提供服务器全方面的技术支持服务! 服务器安全资讯网(Fuancn.CN)登载此文仅为传递更多信息之目的,并不意味着赞同其观点或证实其描述。
  • 本文引用地址:双击复制发送给您的朋友!
  • 上一篇:PHP开发安全建议TOP20 part4 下一篇:PHP开发安全建议TOP20 part2

    - 关于本站 - 网站地图 - 百度新闻 - 版权申明 - 合作伙伴 - 安全服务 - 服安公告 - 常见问题 - 技术Q群 - 在线留言 - 联系我们 -