以图明志

PHP服务器脚本

PHP set_error_handler()函数的使用

报错信息管理
我们写程序,难免会有问题(是经常会遇到问题 ),而PHP遇到错误时,就会给出出错脚本的位置、行数和原因。有很多人说,这并没有什么大不了。确实,在调试程序阶段,这确实是没啥的,而且我认为给出错误路径是必要的。但泄露了实际路径的后果是不堪设想的,对于某些入侵者,这个信息可是非常重要,而事实上现在有很多的服务器都存在这个问题。

PHP服务器脚本

[专题] PHP安全编程:网站安全设计的一些原则

深度防范、最小权限
深度防范原则是安全专业人员人人皆知的原则,它说明了冗余安全措施的价值,这是被历史所证明的。深度防范原则可以延伸到其它领域,不仅仅是局限于编程领域。使用过备份伞的跳伞队员可以证明有冗余安全措施是多么的有价值,尽管大家永远不希望主伞失效。一个冗余的安全措施可以在主安全措施失效的潜在的起到重大作用。

PHP服务器脚本

[专题] PHP安全编程:可用性与数据跟踪

在风险与可用性之间作出平衡
用户操作的友好性与安全措施是一对矛盾,在提高安全性的同时,通常会降低可用性。在你为不合逻辑的使用者写代码时,必须要考虑到符合逻辑的正常使用者。要达到适当的平衡的确很难,但是你必须去做好它,没有人能替代你,因为这是你的软件。

PHP服务器脚本

[专题] PHP安全编程:过滤用户输入

过滤是Web应用安全的基础
过滤是Web应用安全的基础。它是你验证数据合法性的过程。通过在输入时确认对所有的数据进行过滤,你可以避免被污染(未过滤)数据在你的程序中被误信及误用。大多数流行的PHP应用的漏洞最终都是因为没有对输入进行恰当过滤造成的。

PHP服务器脚本

[专题] PHP安全编程:对输出要进行转义

对特殊字符进行编码
另外一个Web应用安全的基础是对输出进行转义或对特殊字符进行编码,以保证原意不变。例如,O'Reilly在传送给MySQL数据库前需要转义成O\'Reilly。单引号前的反斜杠代表单引号是数据本身的一部分,而不是并不是它的本义。

PHP服务器脚本

[专题] PHP安全编程:表单与数据安全

简单可靠地区分两类数据
在典型的PHP应用开发中,大多数的逻辑涉及数据处理任务,例如确认用户是否成功登录,在购物车中加入商品及处理信用卡交易。所有你自己设定的数据可信数据,可以认为是已过滤数据。一个你自己设定的数据是任何的硬编码数据,例如下面的email地址数据:$email = 'gonn@nowamagic.net';

PHP服务器脚本

[专题] PHP安全编程:从URL的语义进行攻击

以一个Webmail系统为例
好奇心是很多攻击者的主要动机,语义URL攻击就是一个很好的例子。此类攻击主要包括对URL进行编辑以期发现一些有趣的事情。例如,如果用户chris点击了你的软件中的一个链接并到达了页面http://example.org/private.php?user=chris, 很自然地他可能会试图改变user的值,看看会发生什么。

PHP服务器脚本

[专题] PHP安全编程:文件上传攻击的防御

加上一层额外的安全保护层
有时在除了标准的表单数据外,你还需要让用户进行文件上传。由于文件在表单中传送时与其它的表单数据不同,你必须指定一个特别的编码方式multipart/form-data。一个同时有普通表单数据和文件的表单是一个特殊的格式,而指定编码方式可以使浏览器能按该可格式的要求去处理。

PHP服务器脚本

[专题] PHP安全编程:跨站脚本攻击的防御

htmlentities()转换为HTML实体
跨站脚本攻击是众所周知的攻击方式之一。所有平台上的Web应用都深受其扰,PHP应用也不例外。所有有输入的应用都面临着风险。Webmail,论坛,留言本,甚至是Blog。事实上,大多数Web应用提供输入是出于更吸引人气的目的,但同时这也会把自己置于危险之中。如果输入没有正确地进行过滤和转义,跨站脚本漏洞就产生了。

PHP服务器脚本

[专题] PHP安全编程:跨站请求伪造CSRF的防御

比如可以使用验证码方法
跨站请求伪造(CSRF)是一种允许攻击者通过受害者发送任意HTTP请求的一类攻击方法。此处所指的受害者是一个不知情的同谋,所有的伪造请求都由他发起,而不是攻击者。这样,很你就很难确定哪些请求是属于跨站请求伪造攻击。事实上,如果没有对跨站请求伪造攻击进行特意防范的话,你的应用很有可能是有漏洞的。

PHP服务器脚本

[专题] PHP安全编程:关于表单欺骗提交

欺骗表单攻击是不能防止的
制造一个欺骗表单几乎与假造一个URL一样简单。毕竟,表单的提交只是浏览器发出的一个HTTP请求而已。请求的部分格式取决于表单,某些请求中的数据来自于用户。当表单提交时,浏览器会请求action中指定的URL,同时它使用当前的URL地址来定位相对URL。

PHP服务器脚本

[专题] PHP安全编程:HTTP请求欺骗

欺骗HTTP请求的做法并不多
一个比欺骗表单更高级和复杂的攻击方式是HTTP请求欺骗。这给了攻击者完全的控制权与灵活性,它进一步证明了不能盲目信任用户提交的任何数据。看到大多数浏览器会包含一个来源的URL值,你可能会试图使用$_SERVER['HTTP_REFERER']变量去防止欺骗。

PHP服务器脚本

[专题] PHP安全编程:不要暴露数据库访问权限

数据库配置文件不要放在根目录
数据库使用中需要关注的主要问题之一是访问权限即用户名及密码的暴露。在编程中为了方便,一般都会用一个db.inc文件保存。用户名及密码都是敏感数据,是需要特别注意的。他们被写在源码中造成了风险,但这是一个无法避免的问题。如果不这么做,你的数据库就无法设置用户名和密码进行保护了。

PHP服务器脚本

[专题] PHP安全编程:防止SQL注入

SQL注入的原理以及防御措施
SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞,一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。

PHP服务器脚本

[专题] PHP安全编程:cookie暴露导致session被劫持

不要轻易暴露你的敏感cookie数据
使用Cookie而产生的一个风险是用户的cookie会被攻击者所盗窃。如果会话标识保存在cookie中,cookie的暴露就是一个严重的风险,因为它能导致会话劫持。基于以上原因,知道新的安全漏洞是很有必要的。你可以跟踪下面提供的几个网站和邮件列表,同时有很多服务提供了RSS推送,因此只要订阅RSS即可以得到新安全漏洞的警告。

PHP服务器脚本

[专题] PHP安全编程:session固定获取合法会话

诱骗受害者使用攻击者指定的会话标识
会话固定是一种诱骗受害者使用攻击者指定的会话标识的攻击手段。这是攻击者获取合法会话标识的最简单的方法。关于会话,需要关注的主要问题是会话标识的保密性问题。如果它是保密的,就不会存在会话劫持的风险了。通过一个合法的会话标识,一个攻击者可以非常成功地冒充成为你的某一个用户。
3 / 6 首页 < Prev 1 2 3 4 5 Next > 尾页 页码: