使用SetEnv或php.ini存储数据库变量有多安全?
我不喜欢在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外 get_cfg_var: 存储在DOCUMENT_ROOT外
只要* .ini和SetEnv在Web根目录(文档根目录)之外,无论哪种方式都无关紧要.只需选择您喜欢的任何一种.我喜欢SetEnv,但这只是个人喜好.因为变量被放入_SERVER,所以使用SetEnv对我来说更有意义.使用.ini,我认为将它留给特定于代码工作方式的初始化设置更有意义.
不存储在文档根目录下是一个好主意,以防止访问可能安全的数据. 请注意,phpinfo()将列出所有已设置的服务器变量,因此请务必小心. 最后,如果您要包含文件,请确保您不允许用户以某种方式设置无偿的../../,否则他们将可以访问可能安全的文件(甚至包括/ etc / passwd!) 我认为你的主要问题是“多么安全”.嗯,这可能就像你能得到的那样安全而不会引起严重的麻烦. php代码可以访问这些变量,因此如果您将它们打印出来,它们很容易看到,因此它取决于您的代码库的安全性.有可能将LDAP与MySQL一起使用,但这听起来很痛苦. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |