2016-04-14 70 views
1

是否有可能向客戶端發送JavaScript代碼,並讓它將信息發送回服務器,而用戶無法攔截,查看或修改它。據我所知這是不可能的,但我不確定某些實時協議如socket/ajax。有人可以攔截一個網絡套接字?是否可以安全地將JavaScript代碼發送到用戶的瀏覽器?

如果這是不可能的,是否有一個巧妙的解決方案來驗證代碼沒有被改變,或者至少使代碼更難改變?也許Dom突變事件?如何混淆代碼/數據的某些敏感部分?

ie:Google Analytics如何知道給定用戶尚未創建虛假數據?

+0

您是否絕對需要發送js或動態創建一個可以在服務器端解釋的cookie?試圖弄清楚你的目標是什麼。 –

+0

簡短的回答是沒有。長答案是看[這個問題](http://stackoverflow.com/questions/1660060/how-to-prevent-your-javascript-code-from-being-stolen-copied-and-viewed) –

回答

2

任何客戶端的爭奪,並且可以讀出,被盜或改變。

永遠不要相信客戶端發送給您的服務器的任何內容。即使由客戶端代碼生成,客戶端代碼也可能發生變化,這意味着數據不可靠。即使Flash可以被反編譯,或者通過主機瀏覽器發送的請求也可以被操縱。

信任級別僅適用於您可以合理預期數據在使用HTTPS時未在傳輸過程中發生更改的事實(當然需要注意)。這只是用戶和服務器之間的一種信任關係,所以不會考慮應用程序的惡意用戶或用戶是否已被入侵。

相關問題