电脑技术学习

PHP安全概述

dn001

什么是安全?
安全是一种相对的度量,而不是绝对的标准。

不幸的是多数软件项目将安全列为一个简单的需求。它安全吗?这个问题的答案就像问某个东西是否是热的一样主观。

达到安全的开销应该是合理的。

对于多数应用来说达到足够的安全级别是简单而成本低廉的。但是,如果因为所需要保护的信息非常有价值,或对安全的要求非常苛刻,则需要付出更多的代价来提高安全级别。这个成本应该被包含在项目的预算中。

达到安全的易用性应该是合理的。

很常见的现象是大幅度增加一个WEB应用的安全的同时,易用性也大为降低。密码、SESSION过期时间,以及访问控制都会给合法用户的使用造成障碍。有时为应用提供适当的安全是非常必要的,但是对于所有的应用来说并不是只有这一种解决方案。当贯彻安全法则的时候对合法用户更加留意是非常明智的。

安全必须是设计的一部分。

如果在设计应用的时候没有考虑安全,命中注定将要坚持不懈的来寻找新的安全漏洞。仔细的写程序并不能弥补糟糕的设计。


基本步骤
在应用中多为合法用户着想。

一个安全的设计只是解决方案的一部分。开发的时候,当编码开始进行的时候,为应用中的那些合法用户着想是很有必要的。一般,目标是使应用像预先制定的那样工作,同时就有必要实现一个适当的应用功能,而这并没有使得应用更加安全。

培训自己。

能够阅读本指南的读者说明本身关心安全,虽然听起来像陈词滥调,但这是非常关键的一步。有大量的可用资源在WEB或书籍中,还有很多资源被PHP安全联盟的资料库收录:http://phpsec.org/library/.

首先,过滤所有的外部数据。

数据过滤在任何语言、任何平台上都是 WEB 应用安全的基石。对变量进行了初始化,并且过滤了从外部得到的所有的数据,使得你事半功倍,花费不多的经理却阻止了可能的主要安全漏洞。一个白名单比一个黑名单要好。这就意味着应当认为所有的数据都是非法的直到它可以被证明为合法(比认为所有的数据都是合法的直到它可以被证明为非法要好)。

标签: