我有興趣使用Java開發多人遊戲。我很擔心黑客修改遊戲數據,現在我有興趣在Applet中運行我的遊戲,並從那裏連接到我的MySQL數據庫。我來自於C#和XNA,所以我對Java還不是非常熟悉,所以我想知道Applet的安全性如何。有人能以某種方式修改在瀏覽器中運行的Applet的遊戲變量嗎?他們能以某種方式訪問我的數據庫?修改Java Applet的變量
回答
從技術上說,他們當然可以:只要applet下載完成,就可以保存,解壓縮,反編譯和更改。
實際上,我懷疑有人會關心。但是,如果你關心的話,正確的做法是編寫你的服務器,以便在處理之前驗證客戶端的每一個請求。
作爲連接到MySQL的,有兩個問題:
- 你要通過MySQL的憑據小程序。你如何使它足夠安全,以便用戶不會直接進入數據庫?
- 許多防火牆不會讓你進入MySQL端口。這是可以解決的,但是你有解決方案嗎?在大多數情況下,這個問題比解決問題更容易避免。
感謝您的回覆。我正在閱讀更多關於如何在我的情況下完成我可能做到的事情。正如你所提到的,對於我想嘗試的事情,我懷疑許多人是否願意嘗試。儘管如此,仍然值得多讀一點,以獲得更好的理解。 – Ted
+1好答案。 *「您將通過MySQL證書到applet」。*訪問數據庫應該由服務器端代碼(例如servlet,ASP,PHP等)調解。否則,預計數據庫將被丟棄。 –
當我參加PHP和MySQL課程時,請原諒我的無知,所以我的知識仍然受限於安全等主題。我有WAMP設置和從Java我使用:「conn = DriverManager.getConnection(url + dbName,userName,password);」和「rs = stmt.executeQuery(」SELECT ...「);」所以我會讓人們通過一個網站註冊一個帳戶,這將使他們的帳戶訪問數據庫的能力有限。當然這意味着修改與其賬戶有關的價值的能力。我不明白的是這種憑證的想法。有人能進一步解釋嗎? – Ted
- 1. Java Applet Backgroun不會改變
- 2. 修改內部類中的變量Java
- 3. 用JPype修改Java/Scala類變量?
- 4. 在JavascriptExecutor中修改Java變量
- 5. 使用內部類(Java)修改變量
- 6. java applet:如何從applet調用/訪問網頁的JavaScript變量?
- 7. 修改fulfillment.tracking_url變量?
- 8. 修改$ PATH變量
- 9. 在Java Applet中設置環境變量
- 10. 修改變量的地址?
- 11. 的JavaScript修改變量
- 12. 不能修改的變量
- 13. Java:修改改變哈希碼的ID
- 14. 修改範圍變量
- 15. Sharpdevelop修改本地變量
- 16. 用pandoc修改變量rst
- 17. 修改價格變量
- 18. 全局變量修改TCL
- 19. 修改變量字符串
- 20. CakePHP變量解析修改
- 21. 在Javascript中修改變量
- 22. UserInputPanel變量修改Izpack
- 23. 變量不能修改divCount
- 24. 修改全局變量Ant
- 25. 無法修改IBOutlet變量
- 26. 在Python中修改變量
- 27. 修改父類變量
- 28. 用Selenium修改JavaScript變量
- 29. 修改屬性vec2變量
- 30. 修改JavaScript訪問變量
可能沒有。很難訪問服務器數據庫或applet變量。 – Samrat
我會更關心applet和服務器和/或數據庫之間的流量。 –