我可以依靠每個瀏覽器只發送來自發布表單的POST數據,還是有一些瀏覽器發送附加數據?
我問的原因是,我有一個很多字段的表單,可能只是數字。所以最簡單的驗證就是運行一個函數來檢查每個字段是否是數字。
我在我的機器上的瀏覽器只發送表單中的字段,所以我希望這適用於其他瀏覽器。
我可以依靠每個瀏覽器只發送來自發布表單的POST數據,還是有一些瀏覽器發送附加數據?
我問的原因是,我有一個很多字段的表單,可能只是數字。所以最簡單的驗證就是運行一個函數來檢查每個字段是否是數字。
我在我的機器上的瀏覽器只發送表單中的字段,所以我希望這適用於其他瀏覽器。
我可以依靠每個瀏覽器只發送POST數據從他們發佈的形式,還是有一些瀏覽器發送額外的數據?
不,完全沒有。瀏覽器通常如果用戶不特定,則不發送其他POST數據,但這不是信任POST數據的理由。
我問的原因是,我有一個很多領域的表格,可能只是數字。所以最簡單的驗證就是運行一個函數來檢查每個字段是否是數字。
我不會這麼做。你可以創建一個預定義的$_POST
索引數組來檢查並運行foreach。請勿直接在POST值上使用foreach
。
我在我的機器上的瀏覽器只發送表單中的字段,所以我希望這適用於所有其他瀏覽器。
通常情況下,POST請求不僅可以通過提交表單來完成。因此,任何POST數據應始終進行驗證,並忽略未請求的數據。
您認爲只能通過瀏覽器發出發佈請求,並且用戶不能篡改其瀏覽器中的表單字段。 – sevenseacat
總有可能會有一個smartass或blackhat的傢伙,會試圖搞砸你。不要懶惰用戶的數據。 –
那麼萬一他們這樣做,驗證將失敗,並且什麼都不會發生? – jah