Ninazu
@Ninazu

Как запретить прямое обращение к cкрипту?

Как правильно запретить обращаться к .php файлам из адрессной строки, c возможностью задать исключения

Allow
/index.php
/login.php
/xml_rpc/server.php
/system/contact/view_all/
/system/home/index/


Deny

/system/home/*.php
/system/controllers/contact_controller.php
  • Вопрос задан
  • 417 просмотров
Пригласить эксперта
Ответы на вопрос 3
Настроить mod_rewrite, чтобы на все запросы отвечал один скрипт, который и будет реализовывать нужную логику.
А так присоединюсь к предыдущему оратору, система, в которой требуется решение таких задач, скорее всего, не очень правильно спроектирована.
Ответ написан
Комментировать
difiso
@difiso
В параллельной вселенной я космонавт
Как говорил Леонид Сысолетин, настроить mod_rewrite, а в том одном скрипте, который обрабатывает все запросы, прописать что-то вроде define('SOMEVARIABLE', 'VALUEOFSOMEVARIABLE');
А во всех остальных скриптах прописать примерно следующее в самом начале
<?php defined('SOMEVARIABLE') or die('No direct script access.');
Ответ написан
Ninazu
@Ninazu Автор вопроса
Система ужасная и монструозная. Не спорю. Но нет времени переделывать её

<Files ~ "\.(tpl|php)$">
  deny from all
</Files>

<Files ~ "(login|index)\.(php)$">
  allow from all
</Files>


Для отдельных файлов решил, так. Сейчас нужно настроить исключения для папок, есть идеи?
Так не работает. Может что-то делаю не так?
<Files ~ "\/xml_rpc\/server\.php">
  allow from all
</Files>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы