2016-05-10 3 views
1

У меня есть страница index.php, и я используюБезопасные страницы PHP доступ к нему

<?php include("default.php"); ?> 

, чтобы получить содержание от default.php. Теперь я хочу, чтобы, если кто-то напрямую открывает default.php, он становится недоступным или перенаправляет его обратно на страницу index.php. Как мне это сделать ?

+0

вы с a do it in .htaccess –

+0

Вы провели какое-либо исследование этого? – GordonM

+0

Способ использования Wordpress с помощью констант. В вашем индексном файле используйте 'define ('IN_APP', true)' и в ваших подфайлах используйте 'if (! Defined ('IN_APP')) die();'. Досадная вещь, делающая это, а не просто удаление файлов из общедоступного представления, заключается в том, что вы должны сделать это в _every_ файле, который вам не нужен. – h2ooooooo

ответ

0

@ Ответ NiettheDarkAbsol является лучшим, но иногда размещение файлов вне каталога public_html не является вариантом. В этом случае вы можете добавить проверку вверху каждого файла, чтобы убедиться, что он открыт действительным файлом, а не напрямую. Я делаю это, установив константу в верхней части файлов, которые можно получить с помощью define('IN_SITE', true, true);, а затем добавьте следующие ко всем страницам не разрешается обращаться напрямую:

if (! defined('IN_SITE')) 
    die('No direct access allowed!'); 
4

Если вы не хотите что-то доступное пользователю, не помещайте его в public_html. Подсказка в названии, это общественный.

Вместо этого сохраните такие файлы вне корня документа. Вы могли бы, например, иметь:

- /public_html 
| - index.php 
| 
- /files 
    - default.php 

Отсюда, index.php можно назвать:

include("../files/default.php"); 

Но ни один пользователь не сможет когда-либо получить прямой доступ к default.php.

0

Добавить выше код в файл файл, который вы будете включать в другом файле. этот код в default.php

<?php 
if(!defined('MyConst')) { 
    die('Direct access not permitted'); 
} 
?> 

И ниже код в файл, в котором вышеуказанный файл ваш включая этот код в файле index.php

<?php 
define('MyConst', TRUE); 
?> 

И другим способом вы можете достичь с помощью .htaccess добавить все файлы в имени папки включают в себя и в .htaccess

Deny from all 

я надеюсь, что это воля помогает вам

Смежные вопросы