2012-08-01 21 views
0

在使用request.GET獲取請求參數或使用request.META獲取HTTP_REFERER時,我可以實現哪些類型的安全檢查以獲得額外的安全性在Django。使用request.GET和request.META進行安全檢查,以獲取django python中的各種值

具體而言,我正在尋找XSS(跨站點腳本)安全檢查它作爲我的一個同事指出,某些機構可以在這裏做一些XSS攻擊。

示例代碼:

next = request.GET.get('next','') 
if next: 
do something 

我已經通過官方Django文檔走了,但並沒有得到太多關於固定和request.GET中META方法。 Security doc for django.

+0

爲什麼你首先需要GET?如果你做任何修改數據POST的請求應該是你的選擇,除非你有一個非常特殊的原因...... – 2012-08-01 08:17:19

回答

0

如果您將next的值直接轉儲到模板或重定向到該模板而不進行檢查,那麼這只是一個XSS攻擊向量。

對於重定向,Django的內置登錄表單檢查您是否沒有重定向到不同的主機 - 請參閱the code

對於腳本攻擊,Django將始終自動查看任何代碼,因此<script>將轉換爲&lt;script&gt;。你只需要確保你不關閉自動轉義或將變量標記爲安全。

相關問題