Как заблокировать вызов функций страниц за пределами обязательных страниц в PHP - PullRequest
1 голос
/ 03 сентября 2011

У меня есть простая страница конфигурации в моем корневом каталоге. Это похоже на wp-config.php , что в системе WordPress. Это имя config.php (или что угодно). В моих файлах есть несколько логинов mysql или общих функций страниц ( functions.php ).

Когда пользователь вызывает мою страницу индекса, он загружает config.php (или другие страницы функций). Но я хочу сохранить их от внешних вызовов: я хочу заблокировать или перенаправить пользователя, когда он вошел в mydomain.com/config.php.

1. Есть ли способ сделать это?

2. Если есть / нет, имеет ли это значение для безопасности? Я не знаю о безопасность, но это беспокоит меня, когда я думаю.

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

Во-первых, не помещайте исполняемый код в файлы, которые вы включаете.Таким образом, даже если они вызываются напрямую, ничего не произойдет, потому что они определяют классы / функции, но не выполняют их.

Далее, если вы не можете защитить их способом @ Narf предполагает, что вы можете начать все свои файлы с:

<?php
  if (!defined('IN_APP')) {
    exit();
  }

И в вашем приложении добавьте define('IN_APP', true)

Таким образом, если ваш файл вызывается напрямую, он просто завершится.

1 голос
/ 03 сентября 2011

Как предлагается в комментариях - вы можете ограничить доступ к этим файлам с помощью .htaccess или простой проверки предварительно определенной переменной.Однако лучше всего поместить эти файлы в путь, недоступный для чтения с httpd, и включить их оттуда.

Скорее всего, ваш каталог webroot (где находится index.php)что-то вроде /var/www/your_site_dir/htdocs.Поместите их в родительский каталог (/var/www/your_site_dir), и никаких других ограничений не потребуется.

Что касается того, влияет ли это на безопасность ... хорошо, это зависит от того, как написан ваш код, но вы всегда должны ограничиватьдоступ к тем, на всякий случай.Ни одна система не является на 100% безопасной, и ни одна из них не может считаться защищенной, если есть даже условная возможность того, что кто-то имеет доступ к ресурсу, который не должен быть им доступен.

...