2016-11-08 70 views
2

應該將來自用戶的數據(如Cookie值,路徑中的可變部分,查詢參數)視爲不安全並以特定方式處理? Flask是否已經對轉義輸入數據進行了清理,以便將它傳遞給函數test(input_data)是安全的?請求數據已經被Flask消毒了嗎?

+0

這就是爲什麼我問 - 我不知道是否存在可能導致代碼執行的代碼(通過字節碼或者某些方式),因此如果在unicode/unicode代碼中使用unicode或int, int是預期的(規則「不信任用戶輸入」)。 「安全」我的意思是 - 妥善逃脫/消毒,因此在進一步加工中安全 – LAdas

+0

它沒有消毒,但通常不是問題。不要在傳入的任何東西中使用'exec',或者在原始sql語句中使用它,就像任何類型的輸入一樣。 –

+0

沒有辦法更具體地回答這個問題,它是無限的。 – davidism

回答

3

除了從原始HTTP請求中解析數據之外,Flask沒有要求數據請求。它無法知道任意函數有什麼限制。這是由你來檢查任何約束。所有數據默認都是字符串。請勿使用evalexec。使用數據庫驅動程序的參數化查詢來避免SQL注入。如果您使用Jinja呈現模板,默認情況下它將轉義數據以用於HTML。