2012-03-26 71 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