2017-09-19 21 views
-3

我正在學習通過SCI使用付款方式。 ,爲此我必須向SCI發送POST/GET請求。使HTML不可更改

一切工作正常。付款順利。 但是當我打開頁面並檢查它時,我可以看到窗體的輸入字段。 (類型 - >隱藏),然後使用編輯HTML我可以改變的金額,你可以在圖片中看到波紋管
edit HTML

<input type="hidden" name="amount_USD" value="60" readonly> 

只讀不會做的工作!我怎樣才能使HTML代碼不可更改。 ,或者是否有其他方法以更安全的方式對其進行編碼。

回答

3

你永遠無法完全保護客戶端代碼,因爲有很多工具可以用來操縱文件。從瀏覽器擴展到開發人員工具都可以做到這一點。可以修改的代碼包括HTML,CSS和客戶端JavaScript。

如果您的應用程序/網站依賴於此類型的安全性,它將永遠不會完全安全

Chrome Dev Tools只是一些惡意使用您的應用的方式之一。您應該評估從後端到前端的安全措施。

+1

你是完全正確的。但是在說JavaScript時要小心,因爲也有服務器端JavaScript(即node.js)。也永遠不要相信用戶輸入,永遠記住,並做你的驗證:) –

2

沒有辦法阻止用戶在客戶端(瀏覽器)上編輯HTML。您應該實施服務器端驗證以拒絕無效數據。

你可以閱讀更多關於它在這裏:JavaScript: client-side vs. server-side validation

在這種特殊情況下,你可以做一些事情,拒絕來自客戶端收到如果沒有在服務器上的匹配量。或者,如果客戶不應該改變它,則根本不會收到客戶的金額。