Запретить прямой доступ ко всем файлам .php, кроме index.php - PullRequest
75 голосов
/ 27 августа 2009

Я хочу запретить прямой доступ ко всем .php файлам, кроме одного: index.php

Единственный доступ к другим .php файлам должен осуществляться через php include.

Если возможно, я хочу, чтобы все файлы находились в одной папке.

UPDATE:

Общее правило было бы неплохо, поэтому мне не нужно просматривать все файлы. Риск в том, что я забываю файл или строку.

ОБНОВЛЕНИЕ 2:

index.php находится в папке www.myadress.com/myfolder/index.php

Я хочу запретить доступ ко всем .php файлам в myfolder и вложенным папкам в этой папке.

Ответы [ 13 ]

0 голосов
/ 18 июля 2013

поместите все файлы в одну папку. поместите файл .htaccess в эту папку и присвойте ему значение deny all. затем в index.php, размещенном вне папки, он выводит нужные страницы на основе пользовательского ввода или события

0 голосов
/ 12 июня 2013

Разрешить только 2 ip, все остальные блокируют

Order Deny,Allow
Deny from all
Allow from 173.11.227.73 108.222.245.179
0 голосов
/ 27 августа 2009

В index.php добавьте значение доступа следующим образом:

$access = 'my_value';

В каждом другом файле включите эту проверку, прежде чем php:

отобразит хотя бы один байт
if(empty($access)) {
    header("location:index.php"); 
    die();
}

Таким образом, другие файлы php будут доступны только через require / include, а не через URL.

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