Передать учетные данные БД с помощью htaccess - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь защитить файл c, содержащий некоторую информацию из базы данных, я использую htacess для защиты этого файла.

Мне нужно следующее: разрешить только php скрипт для получения этой информации для регистрации в БД.

Мой веб root выглядит следующим образом: imgWeb Root

Мой код .htacess выглядит следующим образом :

<files sql.cnf>
Order Allow,Deny
Deny from all
allow from indexa.php
</files>

Мой php файл:

   parse_ini_file("C:\Apache24\htdocs\sql.cnf");
    echo $_SERVER[‘DB_LOGIN’]; // login

Мой sql .cnf Файл

SetEnv DB_LOGIN “login”
SetEnv DB_PASSWD “password”
SetEnv DB_DB “my_database”
SetEnv DB_HOST “127.0.0.1”

Моя проблема в том, что я не могу войти в файл php, и я не понимаю, почему?

ImgError

zf.png

1 Ответ

0 голосов
/ 23 марта 2020

Поскольку вы используете Apache, вы можете добавить переменные в конец файла httpd.conf, как показано ниже, и затем получить к ним доступ, ссылаясь на глобальную переменную $ _SERVER:

SetEnv VAR_NAME strongpassword123

I не верьте, что ценности должны быть указаны. После перезапуска службы Apache вы сможете ссылаться на свое значение, используя $_SERVER['VAR_NAME']. Не нужно parse_ini_file отдельный файл в журнале приложения c.

Кроме того, вам не следует полагаться на htaccess для защиты учетных данных. Если вам нужно хранить учетные данные в файле на сервере приложений, а не в качестве переменных среды, они должны храниться в Интернете root.

Например, приведенный ниже код найдет файл, хранящийся на один уровень выше Интернет root в каталоге с именем config.

require("$_SERVER[DOCUMENT_ROOT]/../config/config.php");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...