Symfony 3 — не разрешен доступ к app_dev.Stack Overflow

Я только что купил общий хостинг (OVH.com — PHP 5.6.21) для размещения проекта Symfony 3 (версия 3.1.3).

При загрузке файла config.php Symfony на сервер он отображает только 2 сообщения с рекомендациями для повышения скорости работы сайта, но ничего, что могло бы помешать работе сайта. Итак, хостинг кажется достаточно хорошим, чтобы правильно запустить этот проект.

Я отправил все файлы и папки на сервер, но когда я пытаюсь добраться до страницы app_dev.php, у меня появляется это сообщение об ошибке:

You are not allowed to access this file. Check app_dev.php for more information.

Я знаю, что должен добавить свои IP-адреса в массив разрешенных IP-адресов в файле app_dev.php, так что вот что я сделал (XXX.XXX.XXX.XXX — мой IP-адрес):

if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'XXX.XXX.XXX.XXX', 'fe80::1', '::1']) || php_sapi_name() === 'cli-server')
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

Я пробовал разные вещи, чтобы увидеть, откуда возникла проблема:

  • удалить часть! (in_array) из условия => Ошибка 500
  • удалить весь блок условий => Я могу попасть на сайт (даже если все еще есть ошибки, связанные с MySQL)

Файл var / logs / dev.log полностью пуст, даже если права 777.

Если у вас есть идеи о том, откуда возникла проблема, я был бы рад, если бы вы могли мне помочь.

Заранее спасибо за помощь !

PS: когда я пытаюсь добраться до среды prod (app.php), я получаю ошибку 500, но файл var / logs / prod.log содержит строки об ошибках MySQL … так что я думаю, это нормально.

2

Решение

Читая код, вы точно знаете, в чем проблема 🙂 Или, по крайней мере, это может быть одной из двух причин:

  • Ваш запрос содержит Client-IP или же X-Forwarded-For заголовок, который может быть установлен обратным прокси (например, Varnish), установленным перед вашим сайтом.
  • Вы не настраиваете правильный IP-адрес.

Независимо от фактической причины, желательно НЕ открывать фронт-контроллер app_dev.php на рабочем сервере. Разработка должна вестись на вашей локальной машине. Фальсификация этой проверки может случайно открыть среду разработки для внешнего мира.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]