2011-08-12 54 views
0

我已經爲在線購物車網站創建了一個表單,客戶將產品添加到了他的包中,並在該頁面中檢查填寫客戶信息。測試人員使用一些篡改技術並能夠更改他們說的數據驗證,以MD5安全散列前的產品,他們能夠爲我們使用實時數據篡改的價格形式如何,如果需要的代碼會爲你的答案提供我想創建一個無法操作的表格

非常感謝 瓦蘇

解決這個問題
+0

假設客戶已將購物車物品保留一週,同時價格已上漲。可以失去差異嗎? –

回答

5

並且能夠在驗證數據之前更改產品的價格

的解決方案是採取只從形式訂購的產品數量,並在內部做的價格計算,在服務器端。如有必要,每次購物車更新。

在客戶端計算的任何東西永遠不值得信賴。

當你在它的時候,確保你沒有遇到下一個錯誤的機會:確保用戶在指定項目數量時不能輸入分數,如0.1 - 導致10%的原價。 :)

+1

或負數。說他們訂購-1歐元的蘋果,你不想支付他們;) – TJHeuvel

+0

@TJHeuvel哦,男孩,是啊!這也很有趣 - 尤其是如果自動連接到PayPal賬戶:) –

+1

從現在開始,我將嘗試在每個網上商店訂購0.51件商品:)在任何四捨五入之前,他們總是有機會計算價格; P – Mchl

1

提交表單時,計算購物籃中商品的價格並將其與瀏覽器提交的價格進行比較。

如果不同,請詢問用戶確認實際價格。

+0

客戶爲什麼要負責提供合適的價格。這是網站本身,應該決定。 –

+0

@ElGabbu要求用戶確認實際價格沒有任何不妥。例如,在用戶訪問期間數據庫中的價格可能已經改變。 –

+0

如果您向用戶顯示價格,並且出現問題(這種情況不太可能,攻擊更可能),然後要求他們確認實際價格會更安全(從法律角度而言),然後以不同的價格爲他們開票。 – Quentin

0

同意Pekka。價格本身不應該是形式的一部分。唯一應該提交的是數量有序的鏈接到product_id。價格計算應在表單提交後在服務器上完成。

2

結帳時,根據有效/四捨五入的數量重新計算服務器端的所有價格。在繼續對付款工具收費之前,向用戶顯示一個不可編輯的確認頁面。如果用戶不同意確認,他可以回到購物車並進行更改。

相關問題