2012-11-20 16 views
0

我有一個將用戶評分發送到mysql表的Java應用程序。當用戶完成時,Java應用程序訪問服務器上的.php文件,.php服務器對數據庫執行查詢(插入分數)。如何限制只能訪問服務器上的php文件到Java應用程序?

我很擔心這種方法的安全性。我的意思是,如果有人在服務器上發現了.php的直接url,他們會在dabase中產生很多混亂。你能告訴我如何防止.php執行查詢,而不是由Java應用程序訪問嗎?

編輯:問題是Java應用程序不在服務器上運行,它使用Java Web Launcher平臺在用戶計算機上運行。所以它不是一個小程序...

+2

只是一個問題,可以通過完全避免它來解決您的問題:爲什麼不從Java應用程序運行數據庫查詢? – Carsten

+0

我建議你的是,Java應用程序運行在用戶設置了正確的權限。我假設你在使用Linux? –

+0

一個明顯的問題是,Java應用程序是否與php服務器在同一臺服務器上運行? – h00ligan

回答

0

問題是概念上的。您永遠不應該確定用戶無法找到真正的地址(安全隱患)。你可以使用SSL,但這並不意味着反對猜測。

由於Java程序在客戶端運行,限制訪問某個IP的.htaccess也不是一個選項。

我的建議是在mysql中創建一個單獨的用戶,只允許該用戶訪問必要的表並且直接用Java代表該用戶執行數據庫查詢。通過這種方式,所有數據都被加密(請參閱http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.html),並且不會公開URL /訪問點。當然,這意味着你的MySQL服務器必須可以從外部訪問,這也會帶來風險。你應該有一個很好的root密碼!

相關問題