2013-10-18 123 views
0

最近,我開發了一個Java程序,它將一些信息存儲在我的MySQL數據庫中。但是,有人反編譯代碼以獲取SQL用戶信息並用條目填充數據庫。SQL數據庫中的限制條目

有沒有一種方法可以限制來自特定IP的條目數量?如果沒有,我還有什麼替代方法可以避免這個問題,同時還有從我的程序傳入我的數據庫的信息?

+0

他們是如何得到代碼的?你確定你沒有把SQL放到你的JSP中嗎? –

+0

如果您將程序交給最終用戶,則不允許直接訪問數據庫。相反,你應該提供一個API並清理你的輸入。相關:http://img820.imageshack.us/img820/1641/itsfinetrustme.png – Warty

+0

不要將SQL用戶憑據放在代碼中!相反,讓程序從文件中讀取它們,從命令行參數等。 – yshavit

回答

1

您需要創建一個服務。

不必直接從應用程序訪問數據庫,而必須使您的應用程序成爲RPC服務的客戶端,這將成爲數據庫的接口。

但是,只要您在應用程序代碼中保留數據庫憑證,就沒有必要設計任何不相關的措施,例如有限數量的條目等。

+0

但是如果有人要再次反編譯代碼,他們是不是可以重寫和執行RPC調用一遍又一遍地洪泛數據庫仍然? – Blackvein

+0

看。這個網站就像這個服務一樣。以及網絡中的任何其他網站。總是有手段限制用戶的活動。簡單但有效。 CAPTCHA是最後的手段,但還有其他措施。 –