2012-03-21 75 views
1

API中描述的變量cherrypy.request.params包含字典中的查詢字符串和POST變量。然而,考慮到這一點,它似乎包含處理完整的請求URI以獲取GET數據後收到的每個變量。這在字典中與POST數據無法區分。 似乎沒有辦法來區分差異,或者我錯了。區分通過POST和GET在Cherrypy中收到的數據

有人請賜教我如何使用純粹發佈的數據,並忽略查詢字符串超出請求URI的任何數據。是的,我知道我可以找出它是否是一個POST請求或GET請求,但是這不會停止僞造POST請求中包含GET數據的URI的請求。

>http://localhost:8080/testURL/part2?test=1 
>POST username = test 

"cherrypy.request.params" has 2 variables 
test = 1 
username=test 
+0

只要您檢查請求正在使用POST,絕對沒有風險。如果惡意應用程序可以修改表單的查詢字符串/ url,那麼它也可以輕鬆注入輸入以獲取POST的數據。但是,即使需要POST也不足以保護您的應用程序免受CSRF攻擊 - 惡意網站可以簡單地創建隱藏表單,並通過JavaScript將其提交給隱藏的iframe。 – ThiefMaster 2012-03-21 23:14:14

回答

相關問題