2017-04-23 169 views
0

HTML5代碼可以通過「檢查元素」輕鬆查看,或從「來源」中檢索。有什麼辦法可以完全隱藏Web應用程序代碼嗎?

我想知道是否有任何方法可以在瀏覽器中完全隱藏客戶端的Web應用程序代碼。

歡迎所有語言,因此嵌入應用程序(如Java Applets)是可以接受的。有沒有什麼聰明的方法來解決這個問題?

+1

後端代碼是。前端代碼號但是,有一些方法可以使前端代碼更難理解(縮小,混淆等) –

回答

2

Vaadin

使用面向Web應用程序框架,服務器端如Vaadin您的業務邏輯只生活全部採用Java編寫,而框架自動生成HTML,CSS,JavaScript的,DOM,AJAX在服務器上,以及在Web瀏覽器中進行演示所需的WebSocket代碼可以讓您對關鍵代碼進行大量掩飾。

任何用戶將能夠看到自動生成的HTML和JavaScript等,但這並不意味着太多。

黑客將能夠操縱該客戶端代碼,但它不會做太多。例如,黑客可以在彈出菜單中更改定義值的HTML/JavaScript以添加另一個意外項目。但是服務器上的Java代碼可以檢查意外的值並處理錯誤或拋出異常。

而且Vaadin執行完整性測試以驗證客戶端和服務器保持「同步」狀態。黑客攻擊客戶端代碼可能會迅速導致它們不同步。

1

無法完全隱藏前端代碼,因爲用戶的瀏覽器必須能夠讀取代碼才能執行它。這個問題不僅限於網絡。即使是原生的二進制文件也可以用disassembler進行檢查 - 再次,用戶的CPU必須能夠解釋代碼,因此一個足夠熟練的攻擊者也可以解釋它。

這就是說,混淆代碼會使閱讀變得更加困難。 JavaScript在投入生產之前經常會縮小 - 主要是出於性能原因。這也提供了一個基本的模糊功能,可以防止技術不太熟練或動力不足的攻擊者。 Google's list of minifiy resources可能是一個很好的開始。

相關問題