2013-11-04 59 views
1

檢查serverside是否是一個好主意從html提交的選項值是否有效?或者我在這裏過度工程?驗證'select option'values serverside

HTML

<select name="options"> 
    <option value="foo">Foo</option> 
    <option value="bar">Bar</option> 
    <option value="baz">Baz</option> 
</select> 

PHP

$allowed = array('foo','bar','baz'); 
if(!in_array($_POST['options'], $allowed)) { 
    //display error 
    die(); 
} 
+0

處理輸入時,您可能會在另一個函數中發生錯誤,您應該始終檢查用戶輸入。所以不,不是過度工程。 – Qurben

+0

不,你不是。這是一個好主意,但只有在必要的時候。只有你會知道這一點。 – nullpotent

+1

@Qurben還有XSS和什麼。 – nullpotent

回答

0

你是在如果statment失蹤(

if(!in_array($_POST['options'], $allowed) { 
    //display error 
} 

使用它。

if(!in_array($_POST['options'], $allowed)) { 
    //display error 
} 
+0

哦,這不是我擔心的代碼本身。感謝您的回答,tho;) – Joren