Настройка .htaccess

php сервер apache htaccess

На веб сайте есть директория с несколькими файлами.
В файле index.php находится авторизация и реквесты остальных файлов, к которым есть права.
В других файлах - логика.
Я не хочу чтобы было возможно обратится к логике напрямую.
Излишне усложнять систему проверкой авторизации в каждом файле логики тоже не вижу необходимости.
Есть ли возможность запретить выполнение всех файлов в .htaccess кроме index.php?

Примечание:
Поясню вопрос.
Пользователь обращается по адресу mysite.com/index.php
Проверив его POST запрос, мы определяем, какую информацию он может получить, какую хочет, и отдаем ему.
Но эта информация генерируется не файлом index.php, а, к примеру, файлом getSomeInformation.php
И пользователю ничего не мешает просто набрать в браузере mysite.com/getSomeInformation.php и получить все, что ему нужно.
Я хочу избежать этого с помощью .htaccess

Примечание:
deny from all запретит совсем все, а мне нужно чтобы index.php обрабатывался нормально.

Примечание:
Я в самом деле очень долго читал сайт htaccess.net.ru, ничего не нашел.

Примечание:
Технически, есть вариант сделать это с помощью директивы auto_prepend_file в php.ini
Но хотелось бы узнать, как это сделать с помощью htaccess, или узнать, что с помощью htaccess этого сделать нельзя/не стоит.
Ответы:
deny from all. В файлз включи нужные имена файлов http://httpd.apache.org/docs/2.3/mod/core.html#files
Смотрите тут: все ваши ответы на ваш вопрос))
хорошей практикой является объявление константы[define()] в основном файле и далее устраивать проверку на объявленность этой константы в файлах, опирающихся на этот основной файл
index.php
<?php
define('SYSROOT', realpath(dirname(__FILE__)).DS);
....
getSomeInformation.php
<?php
defined('SYSROOT') or die('No direct script access.');
> deny from all запретит совсем все, а мне нужно чтобы index.php обрабатывался нормально.
запретит доступ к той директории, в которой лежит .htaccess. Так что в поддиректориях корневой директории создайте файл с этим правилом и все. Или у вас в корне куча файлов?
А еще можно указать опции для конкретных файлов:
<FilesMatch "\.php$">
   order allow,deny
   deny from all
</FilesMatch>
<FilesMatch "^index.php$">
   order deny,allow
   allow from all
</FilesMatch>


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.