Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1175583
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: 网络与安全

2012-06-26 15:58:22

这句话在我写的  中只出现了一次,但是却是一条非常重要的原则,其重要程度甚至可以作为最佳实践3 放在paper中。

为什么提“在正确的地方做正确的事情”? 从XSS 防御的发展历史来看,可以很好的体现这一点。

我曾经画了一张图,来表示这个过程



一开始的方案:对输入过滤特殊符号,就属于没有在正确的地方做正确的事情。

XSS,是发生在客户端浏览器上的,防护不做在该防护的地方,就会导致屡屡被绕过,治标不治本。

所以后来的方案更倾向于在输出做防御方案,这样做的另一个好处就是历史数据也能保护起来。(比如有一个XSS已经写在数据库里了)

类似注射也是如此,攻击发生的地点是在数据层,而类似 PHP 里的 magic_quotes 则也是没有在正确地方进行防御,所以不能根本解决问题。最终PHP开发组也抛弃了这个方案。
阅读(885) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~