加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用SetEnv或php.ini存储数据库变量有多安全?

发布时间:2020-12-13 13:20:27 所属栏目:PHP教程 来源:网络整理
导读:我不喜欢在document_root下存储全站点加密密钥和数据库访问信息,所以我在conf.d下使用Apache的SetEnv和php.ini文件将它们与代码库分开.最大的问题是,哪一个更好? apache vhost文件(SetEnv SITEKEY’oinkoink
我不喜欢在document_root下存储全站点加密密钥和数据库访问信息,所以我在conf.d下使用Apache的SetEnv和php.ini文件将它们与代码库分开.最大的问题是,哪一个更好? apache vhost文件(SetEnv SITEKEY’oinkoink!’)或conf.d / xxx.ini文件(db_pass =“oink?”)下的内部环境变量?也许别的什么?

PROS n CONS:

SETENV:

存储在DOCUMENT_ROOT外
只有给定的vhost才能访问
-Visible与PHPINFO() – 黑客需要直接访问/上传利用文件

get_cfg_var:

存储在DOCUMENT_ROOT外
使用PHPINFO()不可见
– (非常糟糕)包含所有已定义的ini变量,因此每个vhost都可以通过(ini_get_all)查询它们,因此无法在共享vhost环境中使用

只要* .ini和SetEnv在Web根目录(文档根目录)之外,无论哪种方式都无关紧要.只需选择您喜欢的任何一种.我喜欢SetEnv,但这只是个人喜好.因为变量被放入_SERVER,所以使用SetEnv对我来说更有意义.使用.ini,我认为将它留给特定于代码工作方式的初始化设置更有意义.

不存储在文档根目录下是一个好主意,以防止访问可能安全的数据.

请注意,phpinfo()将列出所有已设置的服务器变量,因此请务必小心.

最后,如果您要包含文件,请确保您不允许用户以某种方式设置无偿的../../,否则他们将可以访问可能安全的文件(甚至包括/ etc / passwd!)

我认为你的主要问题是“多么安全”.嗯,这可能就像你能得到的那样安全而不会引起严重的麻烦. php代码可以访问这些变量,因此如果您将它们打印出来,它们很容易看到,因此它取决于您的代码库的安全性.有可能将LDAP与MySQL一起使用,但这听起来很痛苦.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读