Файл может быть выполнен только с использованием include - PullRequest
0 голосов
/ 14 сентября 2011

Я хотел бы знать, нормально ли это.

Мне нужно заблокировать веб-доступ к файлу и сделать его доступным только для других php (то есть: include)

if(strstr($_SERVER['PHP_SELF'], "filename.php")){
      header('Location: http://www.website.net');
}  

спасибо заранее

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Самый распространенный способ - определить константу в родительском скрипте

define('BLA', true);

и проверить в скрипте, существует ли она:

if (!defined('BLA')) {
    // redirect here
}
0 голосов
/ 14 сентября 2011

Это хорошо, но вы можете сделать его немного более общим, используя это вместо того, чтобы вручную вводить имя файла.$_SERVER["SCRIPT_NAME"] вернет имя файла.Таким образом, если вы переименуете или скопируете файл, он все равно будет защищен.

Вы также можете установить права доступа к файлу, чтобы сделать файл недоступным, и поместить его вне ситерута для хорошей меры.У @zerkms также есть интересное предложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...