Как лучше реализовать защиту php файлов от прямого доступа?
Здравствуйте! Не могу определится как лучше реализовать защиту php файлов от прямого доступа:
1) в index.php прописать define('EXEC', true); и в остальных php файлах делать проверку defined('EXEC') || die;
2) .htaccess запретить доступ к php файлам разрешить только index.php
3) ваш вариант
riky: кстати я думал над таким вариантом, но я где то читал что это замедляет работу скрипта, не знаю правда это или нет, но вариант очень хороший, спасибо) я почему спросил, потому что 1 вариант используют многие cmc frameworke итд, а как по мне этот вариант не очень)
therealvetalhidden: все cms используют потому что для обычных юзеров так проще + некоторые хостинги могут не поддерживать такой варинат, или усложнит его.
например если вы покупаете хостинг а там в корне просто лежат папки доменов куда надо заливать код
/example.org
-- index.php
/example.com
-- index.php
при такой структуре вынести будет сложнее - папка src у обоих проектов будет одна... придется извращаться как то.
правильная структура для хостингов - внутри директорий доменов создавать дополнительные директори на которые смотрит веб сервер
www
web
puvlic_html
итд
если вы делаете продукт не для одного заказчика а на сто тыщ пользователей, которые должны будут ставить домохозяйки - то лучше в одну папку все...
так же можно весь закрытый код положить в одну папку и добавить
.htaccess внутрь с текстом
deny from all
это также запретит доступ через веб ко всему внутри.
1. Не париться вообще по этому смехотворному поводу.
2. Положить вне корня веб-сервера
3. Научиться гуглить
(блин, охренеть. вот сколько раз задают этот вопрос - столько он собирает кучу подписчиков. то есть вот эта вот бессмысленная ерунда на палочке и составляет самую пбольшую проблему местных посетителей. )
OnYourLips: он 100% работает на виртуальном хостинге, где возможно нет доступа к директории выше DOCUMENT_ROOT. Т.е. он используется в большинстве cms и прочих устанавливаемых клиентами комплектах скриптов.
OnYourLips: Мы же говорим не о пользователях (которым надо пробовать vps), а о разработчиках (которые это web-приложение пишут). Это далеко не всегда один человек ;)
Анатолий K: что за бред про "залить админу свой indexmy.php"? если на сайте дырень, в которую можно залить свой скрипт, то какое она имеет отношение к играм в ирюльки с константами? А, главное, НА КОЙ ЛЯД такому скрипту что-то инклюдить, если сайт УЖЕ поломан?