Пока * .ini и SetEnv находятся за пределами корневого веб-каталога (корня документа), это не имеет значения в любом случае.Просто выберите тот, который вы предпочитаете.Мне нравится SetEnv, но на самом деле это просто личные предпочтения.Для меня имеет больше смысла использовать SetEnv, поскольку переменные помещаются в _SERVER
.Я думаю, что с .ini имеет смысл оставить его для параметров инициализации, специфичных для того, как работает код.
Не хранить под корнем документа - хорошая идея, чтобы предотвратить доступ к, возможно, защищенным данным.
Обратите внимание, что phpinfo()
будет перечислять любые установленные серверные переменные, поэтому будьте очень осторожны с этим.
Наконец, если вы включаете файлы, убедитесь, что вы не разрешаете безвозмездно ../../
установленный пользователем каким-либо образом, или у него будет доступ к потенциально защищенным файлам (даже включая /etc/passwd
!)
Я думаю, что ваш главный вопрос - «насколько безопасен».Ну, это, вероятно, настолько безопасно, насколько вы можете получить, не вызывая больших головных болей.Код php имеет доступ к этим переменным, поэтому, если вы распечатываете их, они легко видны, поэтому это зависит от того, насколько безопасна ваша кодовая база.Может быть возможно использовать LDAP с MySQL, но это звучит как огромная боль.