使用Tastypie清理用戶輸入的最有效方法是什麼?現在,如果用戶輸入類似嗨,HTML標記會被保存,所以當它顯示時,文本顯示爲粗體。除了更改每個資源的obj_create之外,我將如何清理所有輸入?Tastypie消毒輸入?
此外,由於我是網絡安全領域的新手,我是否應該在前端對用戶的輸入進行消毒?我不確定在發送POST請求到tastypie API之前是否應該清理輸入,或者在tastypie處理輸入時是否應該清理輸入?
編輯:我確實發現,我可以在我的下劃線模板中使用<% - %>而不是<%=%>來轉義HTML。爲什麼不下劃線默認做這個?我覺得這是一個很大的安全風險。 如果我不小心忘了在某個地方做這個,那麼我就搞砸了。
我認爲上述問題解決了前端安全問題,但是後端呢?有沒有辦法可以看到我是否容易受到SQL注入?當我執行POST/PUT請求時,tastypie會對輸入進行消毒嗎?
通過過濾|安全,你是指Django模板?我沒有使用Django模板來渲染我的模型。我正在使用下劃線模板。另外,在模型中我沒有mark_safe = True,那麼HTML標籤是如何經歷的呢?我會明白,如果下劃線不逃避HTML,但不會Django不存儲HTML標籤? – egidra
沒有關於上述評論。我編輯了原文。 – egidra
我支持我的評論。默認情況下,Django永遠不會顯示不安全的內容。在將數據存入數據庫之前,我不會改變輸入,我只是不會顯示它。很高興知道這是壞的默認值,而不是我們! :)由於不安全的輸入導致django核心或tastypie中沒有已知的SQL注入漏洞。在調用SQL之前,我們正確地轉義了事情 –