2012-03-26 74 views
1

過去,我已將數據庫憑據(用戶名,密碼)存儲在另一個文件(Web目錄之外)中,並將其包含在PHP頁面中以與數據庫建立連接。由於我已經開始通過AJAX進行大量的數據庫交互,所以我必須改變我的工作方式,因爲AJAX腳本不能在網絡目錄之外使用include腳本。用於存儲AJAX數據庫憑證的最佳(最安全)方式

爲了處理AJAX數據庫連接,我需要一個安全的方法將用戶名和密碼數據提交給AJAX腳本。什麼是最好的(安全和方便)的方式來做到這一點?如果我只是把我的數據庫憑證文件放在Web目錄中,有什麼權限給它?這是個好主意嗎?

非常感謝!

**編輯**

顯然沒有包括Web根目錄以外的文件的問題,我錯了。非常感謝,這可能會改變一切,我...: -/

**編輯2 **

事實上,對我改變了一切,我能有我使用該數據庫配置文件在所有頁面(位於Web根目錄之外),所以這太棒了!

+3

爲什麼你的AJAX腳本不包含web目錄之外的文件? – Brad 2012-03-26 14:04:02

+0

爲什麼「AJAX腳本」無法訪問webroot之外的文件?您是否試圖將數據庫憑據發送給*客戶端* ?! – deceze 2012-03-26 14:05:04

+0

我假設這是因爲他通過文件夾結構來平衡私人/公共訪問......這將使他更容易抵禦遍歷攻擊和其他類型的後端文件訪問濫用 – Kristian 2012-03-26 14:06:21

回答

1

將這些接口連接到數據庫。這種方式你不必永遠「存儲數據庫信譽」客戶端

或者,如果你絕對必須保存客戶端,你應該找出一種方法來減少您存儲在會話cookie中保存的散列/醃製密鑰或其他東西

2

如果您使用的是AJAX,則應該調用一個php頁面,例如insert.php。在這個PHP中,你可以包括任何你想要的PHP(甚至在根文件夾之外)。所以如果你不反對改變一些東西,我想你應該使用你的後端與數據庫接口,並使用你的ajax,你可以包含db-credentials.php在insert.php

相關問題