防止跨站点脚本攻击和钓鱼注入等

url参数,无论是post还是get方式,都会潜在着注入的风险。如果使用不适当的话。

如何防范这种系统性的风险呢?

1)构造你自己的序列和反序列化器,当然这个序列器包括具有格式校验的功能;如果newton.json是一个比较高效的序列器(相当对.net4.0中的jsonserializer,各有千秋,单个性能高,其它缓存能力差),可以扩展功能,增加格式校验功能等,以保证传输过来的参数,都符合你的格式要求;而且能够面向对象编程。这种方式的适用于大型应用的处理方案。

目前本人公司的开放平台的参数就是通过这种方式处理的,整个序列器和校验器都是自己开发提供的。

 

2)简单的应用并没有必须如以上那样处理,就是对unsafe tag进行替代处理。

即对<[^>]*>,[/s/r/n]+,防脚本攻击;

|—%,防脚本注入;

就.net而言,实现Ihttpmodel就可以轻松实现url的注入的拉截;

php的简单处理方式,就是使用 strip_tags,preg_replace进行有条件的替换。也可以封装Zend_Controller_Action_Interface基类。


你可能感兴趣的:(.net,脚本,action,Zend,interface,开放平台)