2011-10-08 78 views
0

這主要是用於單選按鈕,但是;如果您在瀏覽器中編輯網頁的原始html並更改了收音機的值,會發生什麼?如果您決定通過使用php的表單發送該信息,那麼單選按鈕的更改值將被髮送,還是僅檢索其原始值?我會測試這個假設,但apache不會正確安裝。客戶端網頁編輯問題?

回答

0

HTML頁面提交的值是服務器接收的值。這就是爲什麼您需要在依賴它之前驗證數據服務器端的原因。你應該假設每個用戶都是惡意黑客。

$acceptable_values = array('0', '1', '2'); 
if(in_array($_POST['radio'], $acceptable_values)) { 
    //Radio button value is valid 
} else { 
    //Radio button is not valid 
    die('Nice Try!'); 
} 

或者你可以有單選按鈕的值設置爲默認值,如果它不包含有效的值...

$acceptable_values = array('0', '1', '2'); 
if(in_array($_POST['radio'], $acceptable_values)) { 
    $radio = $_POST['radio']; 
} else { 
    $radio = '0'; //Default 
} 

重要的是要注意,使用的工具的發明類似Firebug(很重要壁虎)和Inspector(webkit),您不需要下載,修改和查看HTML頁面。您可以在瀏覽器中進行編輯。

+0

謝謝!你剛剛解決了我要問的問題。 – Semirix

+0

@Codeboy很高興能幫到你! –

0

您可以從瀏覽器發送任何您喜歡的信息,即可完全控制。所以是的,你可以從任何形式發送任何東西 - 這就是爲什麼客戶端的健全檢查是無用的。

試用tamperdata(Firefox插件)可以查看和編輯您的瀏覽器生成的任何POST。或者您可以(如您所說)使用螢火蟲(另一個Firefox插件)編輯任何網站的代碼,並在瀏覽器中查看它。

+0

如果你想的是如何工作的現場演示,頭部到http://www.hackthissite.org/做現實的任務1. – lynks

+0

客戶端檢查不是沒用的。只要他們不是最後一道防線。它們對於警告「非邪惡」用戶等待表單提交以解決問題非常有用。當然你仍然需要服務器端檢查,但是從UI的角度來看,客戶端檢查是很棒的。 – Kibbee

0

任何人都可以向任何網站發佈任何內容。這是網絡中最大的安全問題。這就是爲什麼你應該懷疑,驗證和SANITIZE任何用戶輸入數據。由於PHP 5.2如果我沒有記錯,你有功能filter_var($var_to_be_filter, FILTER_TO_BE_APPLIED);

這樣,你可以避免2安全問題SQL InjectionXSS (Cross Site Scripting)。不幸的是,你需要考慮更多的安全風險。 CSRFCookie HijackingExternal File AccessRemote File InclusionSession FixationDirectoy traversal