我有一個很多變量的表單,然後發送一封電子郵件,而不是通過filter_var($_POST['var'], FILTER_SANITIZE_STRING);
來清除每個$_POST
的值。我之後是一段更簡單的代碼。我想出了下面這個,似乎工作,因爲我相信默認行動是FILTER_SANITIZE_STRING
,但我只是想知道人們的意見是什麼,如果這不是好的做法,也許你可以告訴我爲什麼?該$_POST
值然後分別嵌入到新的變量,所以我只會使用array_map只是在開始清理一切......
$_POST = array_map('filter_var', $_POST);
謝謝您的回覆,給你更多的信息,基本上:
我有一個形式20-30的輸入字段正被捕獲, 數據隨後被顯示給用戶,以檢查它們的輸入, 變量然後消毒, 用戶然後被髮送的電子郵件 和然後最後的細節輸入到數據庫。
目前我在發送電子郵件之前使用上述array_map函數以及電子郵件地址上的FILTER_SANITIZE_EMAIL進行消毒,然後在插入數據庫之前使用mysql_real_escape_string()轉義輸入。沒有深入準備好的聲明等,你認爲我應該另外做些什麼嗎?再次感謝!
消毒串的嵌套數組,這裏是一個有用的功能 - http://stackoverflow.com/questions/3126072/what-are-the-best-php-input-sanitizing-functions/20403438#20403438 – 2014-09-23 13:14:28
可能重複的[PHP -Sanitize值的AR ray](http://stackoverflow.com/questions/4861053/php-sanitize-values-of-a-array) – feeela 2014-10-23 10:17:38