2011-12-10 20 views
0

可能重複:
The ultimate clean/secure function使用循環清理GET/POST?

當談到消毒POST/GET數據可能我們只是編寫一個循環來遍歷所有設置變量在通用PHP包括文件,從未發生過在代碼中擔心它?

我一直在做一個名爲sanitize的功能來做到這一點,但這似乎是有道理的。

+0

有沒有像「消毒」這樣的事情。一旦你做了一些你稱之爲「消毒」的東西 - 你做錯了什麼,使你的應用程序易受攻擊和/或無法使用 –

回答

1

您可能更適合在應用程序中創建一個功能,以便在需要時執行此功能。然後,如果您需要它們,您仍然可以獲得原始的發佈值,並且您可以根據需要通過傳遞選項來清理您所需的功能來修改該功能。例如:

function getPostField($field) 
{ 
    // all your sanitation and isset/empty checks 
    $val = sanitize($_REQUEST[$field]); 
    // ... 
    return $val; 
} 
0

是的,當然。一些框架會自動完成此操作,並將已過濾的REQUEST變量存儲在不同的數組或對象中,因此原始數據在需要時仍可用。

+0

我應該爲數據庫/非數據庫單獨使用嗎? –

+1

我在我的數據庫類中保留了所有數據庫清理,因此在插入/查詢之前檢查數據。 – Tak

+0

PHP曾經有過這個功能......它花了很長時間才把它從語言中刪除。 –