Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Nebiros
33 / 33 / 16
Регистрация: 23.03.2010
Сообщений: 2,078
1

Запретить прямое обращение к скрипту, но разрешить обращение через RewriteEngine

14.11.2014, 16:58. Просмотров 2100. Ответов 6
Метки нет (Все метки)

основной файл у меня index.php и в нем уже определяется какой файл подключить, к примеру

index.php
PHP
1
2
3
4
5
6
7
$arr=explode("/",$_SERVER['REQUEST_URI']);
$page=trim($arr[1]);
 
if($page=='test') require_once('test.php');
  elseif($page=='admin') require_once('admin.php');
    else require_once('some_page.php');
......
.htaccess
Код
RewriteEngine on
RewriteBase /

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</IfModule>
если пройти по ссылке как положено ( mysite/test/ ) то все нормально, но можно запустить и сам файл ( mysite/test.php ). Как мне сделать чтобы нельзя было доставать файлы?
в правах доступа к файлам стоит 0744 rwxr--r--

Добавлено через 1 минуту
да и собственно как правильно настраивать доступ - какие права каким файлам и тд...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2014, 16:58
Ответы с готовыми решениями:

Обращение к php скрипту
Здравствуйте! Что нужно прописать в php файле, чтобы при обращении к нему можно было увидеть как к...

Обращение к скрипту методом GET
Возможно сделать так чтоб программа POST запросом обратилась на скрипт и он выполнил следующее. ...

Обращение к скрипту, копирование и обработка информации
День добрый! Имеется php скрипт, который обращается к игровому серверу и выводит массив...

Как запретить обращение к поддомену через слэш?
Собственно, сабж: необходимо запретить доступ к поддомену 3-го уровня через слэш. Сейчас условно...

Прямое обращение к памяти
Доброго всем времени суток. Товарищи, помогите пожалуйста найти литературу для компилятора DJGPP....

6
ads
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
14.11.2014, 17:59 2
Цитата Сообщение от Nebiros Посмотреть сообщение
Как мне сделать чтобы нельзя было доставать файлы?
Закрыть папку с файлами от доступа по http
0
Nebiros
33 / 33 / 16
Регистрация: 23.03.2010
Сообщений: 2,078
14.11.2014, 19:58  [ТС] 3
Цитата Сообщение от ads Посмотреть сообщение
Закрыть папку с файлами от доступа по http
в смысле права на чтение со всех файлов убрать или как?
0
ads
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
14.11.2014, 21:07 4
Цитата Сообщение от Nebiros Посмотреть сообщение
или как?
настройки сервера это. Прямого отношения к php это не имеет.
0
Para bellum
Эксперт PHP
4190 / 3119 / 1011
Регистрация: 06.01.2011
Сообщений: 9,092
15.11.2014, 13:19 5
Nebiros, можно ещё таким способом (его Joomla! например использует):
1) Создаём константу в головном файле (через который все запросы) или в каком-нибудь файле bootstrap.php (это к примеру).
PHP
1
define('APP', true);
2) В подключаемых файлах в самом начале проверяете, установлена ли эта константа.
PHP
1
defined('APP') or die('Access denied!');
Можно ещё вынести подключаемые файлы из публичного каталога, как это сделано во фреймворках.
1
Nebiros
33 / 33 / 16
Регистрация: 23.03.2010
Сообщений: 2,078
15.11.2014, 13:27  [ТС] 6
lyod, я как раз недавно именно о такой идее подумал, только с одним но, в индексе я задал константу а в остальных сделал редирект 301 на индекс если нет константы. Или лучше по вашему методу сделать?
0
Para bellum
Эксперт PHP
4190 / 3119 / 1011
Регистрация: 06.01.2011
Сообщений: 9,092
15.11.2014, 13:47 7
Цитата Сообщение от Nebiros Посмотреть сообщение
Или лучше по вашему методу сделать?
Мне кажется самый лучший метод - это
Цитата Сообщение от lyod Посмотреть сообщение
вынести подключаемые файлы из публичного каталога
Фреймворки всё-таки более-менее знающие люди пишут, значит они и в безопасности понимают.
Ну, если Вы хотите проверять константу, то перенаправление мне кажется лишним.
1
15.11.2014, 13:47
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2014, 13:47

Прямое обращение к жесткому диску
Прошу помощи.Дали задание для курсовой работы: найти в заданном каталоге файл наименьшего...

Локальные переменные или прямое обращение к get-объекта класса?
Собственно, что лучше? Создавать локальные переменные и хранить там значения, полученные из...

Изменить программу так, чтобы было прямое обращение к процедуре и функции
Написана программа. Необходимо так изменить программу , чтобы было прямое обращение к процедуре и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru