2012-07-14 138 views
0

目前我擁有它,當用戶回覆線程時;我使用$id = $_GET['id']並將該變量傳遞給回覆表單中隱藏的只讀輸入。防止用戶篡改html

我使用的另一種方法是數據屬性,我用jQuery檢索,然後用ajax提交表單。數據屬性可以在螢火蟲中更改。

什麼是防止篡改HTML隱藏字段/數據屬性的好方法?

我想過使用會話..例如,如果用戶有多個窗口打開:page1.php?id = 1,page2.php?id = 2,page3.php?id = 3。我將如何存儲和檢索會話?我無法打開多個窗口,因此無法確定會話名稱。

+0

當用戶回覆therd時,您使用$ id = $ theread_id; – elo 2012-07-14 22:41:09

+1

你不能阻止請求操縱,你應該改爲驗證服務器端,並確保$ _GET ['id']持有的內容在允許的範圍內。例如,如果您需要在請求之間保存值,請參閱會話。 – Mahn 2012-07-14 22:50:38

回答

1

很明顯,你不能阻止用戶改變HTML客戶端(你可以讓它變得困難,但並非不可能)。如果您擔心回覆線程的人沒有回覆權限,則應該處理該服務器端(在發佈前請檢查權限)。這樣用戶可以更改他們想要的ID,但他們仍然只能回覆他們被允許回覆的線索。

另一個選擇可能是在查詢字符串中使用加密的ID,但在這種情況下,我仍然會檢查服務器端的權限。