天天看點

防止跨站點腳本攻擊和釣魚注入等

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基類。