#php
#php
Вопрос:
Просто очень быстрый вопрос о файле php.ini. Я создал свой собственный в своем файле php.ini, и он отлично работает, если я помещу его в свой каталог ‘public_html’. Однако проблема в том, что его, очевидно, можно просмотреть в браузере через HTTP-запросы.
Итак, я пытаюсь переместить его за пределы моего каталога ‘public_html’, однако, похоже, это не работает, когда вне моего ‘public_html’.
Я знаю, что, возможно, мог бы установить в my .htaccess следующее, чтобы избежать его чтения:
<Files php.ini>
Order allow,deny
Deny from all
</Files>
Однако я не хочу этого делать, поскольку мой php.ini все еще может кэшироваться Google, если он находится в каталоге ‘public_html’. Есть ли какие-либо предложения, чтобы заставить его работать вне моего public_html?
Я использую сервер Apache. Спасибо за любые предложения
Комментарии:
1. Какой веб-сервер вы используете? Apache?
2. Директива deny остановит веб-сервер от обслуживания этого файла. Google не может обойти это.
3. Почему бы вам не поместить это в свой httpd.conf и не заблокировать весь доступ к php.ini?
4. У меня нет доступа к httpd.conf
Ответ №1:
Вы можете использовать PHPRC
переменную среды … смотрите документацию:
Ответ №2:
Он не может быть кэширован Google, если вы блокируете подобным образом в .htaccess
Комментарии:
1. Google не всегда прослушивает .htaccess просто кэширует то, что ему нравится, что я нашел
2. @daza: вы совершенно не правы. google не может определить, что веб-сервер НЕ отправляет
3. Хорошо, значит, ‘.htaccess’ тоже должен быть в каталоге public_html, я полагаю?
4. -1, извините, я ненавижу это делать, но я должен был. Я имею в виду, я единственный, кто считает, что наличие php.ini в папке, доступной через Интернет, совершенно нелепо? Это исправление, которое не решает реальную проблему: php.ini находится в веб-папке!
5. @stef: Вам свободно разрешено значение -1. Но вы поняли, что с этим .htaccess вы не оставляете php.ini открытым для общественности?
Ответ №3:
Два предложения:
- Убедитесь, что Apache может найти ваш php.ini (PHPINIDIR /path /где / находится / php.ini)
- Убедитесь, что файл доступен для чтения пользователю веб-сервера.
Комментарии:
1. Как я могу гарантировать, что Apache сможет найти мой php.ini, есть ли способ указать местоположение с помощью настройки или PHP-скрипта с использованием ini_set () и т.д.?
2. Вы можете проверить файлы журнала Apache, чтобы увидеть, отображается ли ошибка при запуске Apache. Однако, если вы укажете PHPINIDIR в файле httpd.conf, как указано выше, Apache должен искать в правильном месте.
Ответ №4:
Как получилось, что ваш php.ini оказался в папке, доступной веб-серверу? Я впервые слышу о такой ситуации.
Я долго думал о том, как вам удалось это сделать, и единственный ответ, который я придумал, заключается в том, что вы создали виртуальный хостинг в папке php. Если это так, создайте другой vhost по пути php.ini и удалите вредоносный vhost. Смотрите Этот пост для примеров.
Комментарии:
1. Извините, допустил ошибку в вопросе. Я не создавал свой сервер, я создал файл php.ini в моем каталоге public_html, вот как он туда попал