kpodyganov
@kpodyganov
Увлекаюсь фронтенд-разработкой

Как защитить php файл от пользователей?

Можно ли защитить сайт от посещения ненужных файлов пользователем. Например, есть два файла, index.php и config.php, как запретить доступ к config.php?
  • Вопрос задан
  • 595 просмотров
Решения вопроса 2
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
Смотря что содержится в config.php. Если он выполняет функцию возвращения массива, например:
<?php
return[
    'host' => 'localhost',
    'dbname' => 'MAYABASA',
    'user' => 'root',
    'password' => ''
];

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

Если вы делаете вывод контента по средствам php и получаете содержимое через, например, file_get_contents($url), то в начале файла можно проверять ip адрес с которого поступает запрос. Если запрос делает только ваш сервер, то это может смотреться так:
if ($_SERVER['REMOTE_ADDR'] !== '127.0.0.1') exit();
echo 'Этот контент будет выводиться только для запросов с Ip 127.0.0.1';

Ip вашего сервера не меняется, поэтому способ может быть использован.

Ну и напоследок, есть способ для защиты в .htaccess
RewriteRule ^/?some_path/config\.php$ - [F,L]
Ответ написан
Комментировать
SlavikF
@SlavikF
Есть несколько способов:

1) Самый простой: выкладывать такие файлы там, где пользователь не может их открыть
Например сайт выложен на /var/www/mysite.com/public/
и mysite.com открывает файлы по этому пути

Файлы, которые пользователь не должен открывать ложим вот в /var/www/mysite.com/private/
Теперь пользователь их открыть не сможет, а другие PHP файлы ссылаться на них (include, require...) - смогут.

2) Запретить через конфиг Апача или .htaccess
Про это написано здесь в другом ответе
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Никак не надо защищать.
Найди себе другое, более полезное занятие.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы