老潘已转到http://www.panxingzhi.net/。所有旧文章如有改动,此处将不再更新。谢谢。 I've moved to http://www.panxingzhi.net/. Updates on old posts are not applied here. Thanks.

Web程序输入分析

Web程序是琐碎而有趣的。其本质没有什么特殊,也是接受输入(最常见的是http request)产生输出(最常见的是http response)。区别在于,来自于网络的这些输入是来自所谓终端用户,而不是其他的程序员。这些用户可以非常不讲道理,甚至带着破坏系统的敌意,来提供输入(见我前面的一篇《XSS攻击的一种形式》)。所以我们实现web程序时,必须很细心的分析可能发生的各种情况。

输入错误的情况其实有两种。要分情况进行不同的处理。

一种是用户没有按照规定操作界面,比如用户在购物网站未经登录就点击我的购物车。这种情况下要回馈给用户相应的出错信息,引导客户进行正确的操作。

另一种是用户在正常使用界面时,不可能出现的情况。比如某些参数缺失等等。这些情况可能是黑客行为(构造的http request),或者是用户访问了不当的url造成的。这种情况说明对方在做我们不希望他们做的事,因此我们不应回馈任何错误信息。

并不是每次我们都能清楚的区分这两种情况,也并不是任何时候都有必要做最严密的防范。但至少要有这个意识。





0 条评论:

添加评论