Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не могу закрыть доступ к php файлам
 
 автор: scuter   (24.08.2008 в 00:53)   письмо автору
 
 

на сервере стоит Apache 1.3
ставлю в .htaccess незамысловатую запись
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /test.php

сервер говорит не хочу работать
ставлю такую запись
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|php|css)$ /test.php

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

почему!

  Ответить  
 
 автор: cheops   (24.08.2008 в 00:58)   письмо автору
 
   для: scuter   (24.08.2008 в 00:53)
 

Не очень понятна конечная цель, вы хотите запретить доступ ко всем PHP файлам или только к одному из файлов?

  Ответить  
 
 автор: scuter   (24.08.2008 в 14:31)   письмо автору
 
   для: cheops   (24.08.2008 в 00:58)
 

мне нужно чтобы все запросы на сервер переадресовывались на один файл "test.php",
естественно кроме картинок, CSS и JS.

  Ответить  
 
 автор: UhoGorloNazzer   (27.08.2008 в 02:43)   письмо автору
 
   для: scuter   (24.08.2008 в 14:31)
 

>> мне нужно чтобы все запросы на сервер переадресовывались на один файл "test.php",

Я, например, переадресовываю таким макаром (это строчка из htacess, разумеется):
 ErrorDocument 404 /e404.php 


Файл e404.php как и index.php не имеют ничего, кроме
include('e404.inc');


Обработка всех типовых запросов к сайту осуществляется через скрипт e404.inc
Рабочие файлы у меня имеют расширение .inc , которые напрямую открывать запрещено ( через .htacess):

<Files "*.inc">
Deny from all
</Files>


При этом, ничего не мешает создать файл, скажем anyfile.php, в котором будет реализован алгоритм, отличный от типового (который прописан в e404.inc).

То есть, при запросе http://www.domen.ru/anyfile.php откроется именно этот файл. При этом, не нужно будет лезть в реврайт и хтакцесс, чтобы разрешить доступ к какому либо "исключительному" файлу (а таковое имеет свойство случаться). Собственно в любом anyfile.php достаточно закомментировать (или вовсе не вписывать) include('e404.inc');

  Ответить  
 
 автор: scuter   (28.08.2008 в 13:11)   письмо автору
 
   для: UhoGorloNazzer   (27.08.2008 в 02:43)
 

так в том то и дело что все рабочие файлы должны быть закрыты,
и вся обработка запросов должна происходить в одном файле,
пропустить нужно только конкретные файлы которые разрешены в htacess

  Ответить  
 
 автор: ddhvvn   (24.08.2008 в 15:37)   письмо автору
 
   для: scuter   (24.08.2008 в 00:53)
 

!\.(js|ico|gif|jpg|png|php|css)$


Может это выражение означает, что строка не содержит точку и содержит что-то из списка?

  Ответить  
 
 автор: scuter   (24.08.2008 в 17:41)   письмо автору
 
   для: ddhvvn   (24.08.2008 в 15:37)
 

нет это выражение означает, что строка не должна оканчиваться на .js .ico .gif .jpg .png .php .css
мне нужно чтобы в этом списке не было .php

  Ответить  
 
 автор: GeorgeIV   (28.08.2008 в 17:38)   письмо автору
 
   для: scuter   (24.08.2008 в 17:41)
 

RewriteRule ^(.+)\.(js|ico|gif|ipg|png|css)$  $1.$2    [E=REDIRECT_DONE:true]
RewriteCond     %{ENV:REDIRECT_DONE}    ^true$
RewriteCond     %{SCRIPT_FILENAME}    -f
RewriteRule    ^(.+)$    $1        [L]

RewriteCond     %{ENV:REDIRECT_DONE}    !^true$
RewriteRule    ^(.+)$    index.php        [E=QUERY_STRING:$1,L]

Примерно так - всю графику пропускаете, а все остальное - на index.php

  Ответить  
 
 автор: scuter   (29.08.2008 в 10:29)   письмо автору
 
   для: GeorgeIV   (28.08.2008 в 17:38)
 

спосибо помогло.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования