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

Форум Apache

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

 

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

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

тема: Запрет на группу файлов по маске
 
 автор: Braz   (06.09.2011 в 10:16)   письмо автору
 
 

Здравствуйте, на сервере находятся файлы .js
Как мне правильно создать маску, чтобы запретить к ним доступ?
условие вида
<Files *.js>
запрещает обращение всем, в том числе и самому апачу, скрипты не работают
условие вида
<Files "\.(js)$">
вообще никому ничего не запрещает все спокойно все читают

Р.S. где можно почитать про все эти галочки, четрточки, тильды?

  Ответить  
 
 автор: cheops   (06.09.2011 в 10:31)   письмо автору
 
   для: Braz   (06.09.2011 в 10:16)
 

Как полностью выглядит контейнер Files? Только если запретите обращение к js, то они станут бесполезными для выполнения на строне клиента, так как браузер их тоже не сможет загрузить.

PS галочки, черточки и тильды - это регулярные выражения, такой своеобразный декларативный язык программирования для обработки текста. Он включен почти во всех языки программирования и по нему очень мало толковых книг, пожалуй единственной является Регулярные Выражения. Дж. Фридл.

  Ответить  
 
 автор: Braz   (06.09.2011 в 10:44)   письмо автору
 
   для: cheops   (06.09.2011 в 10:31)
 

в index.html включен тег <script src="/js/options.js"></script>
я хочу запретить прямой доступ юзеру к /js/options.js
<Files *.js>
order allow,deny
deny from all
</Files>
эта конструкция перекрывает все что можно ассоциировать с .js но скрипты не доступны для выполнения в браузере

<Files "\.(js)$">
order allow,deny
deny from all
</Files>
эта конструкция не работает
_________________________________
на этом сайте есть статья по .htaccess
Цитирую:

<Files "\.(inc)$">
order allow,deny
deny from all
</Files>
В данном примере сам веб-сервер Апач может обращаться к файлам с таким расширениям.

Я только поменял расширение с inc на js - конструкция не работает

  Ответить  
 
 автор: cheops   (06.09.2011 в 10:49)   письмо автору
 
   для: Braz   (06.09.2011 в 10:44)
 

>я хочу запретить прямой доступ юзеру к /js/options.js
Вы его запретите вообще в том числе и для ваших страниц, он просто перестанет работать. В первую конструкцию следует добавить кавычки
<Files "*.js">
 order allow,deny
 deny from all
</Files>
а во второй конструкции вместо контейнера <Files> следует использовать <FilesMatch>
<FilesMatch "\.(js)$">
 order allow,deny
 deny from all
 </FilesMatch>

  Ответить  
 
 автор: Braz   (06.09.2011 в 10:57)   письмо автору
 
   для: cheops   (06.09.2011 в 10:49)
 

Спасибо!

  Ответить  
 
 автор: Braz   (06.09.2011 в 11:13)   письмо автору
 
   для: cheops   (06.09.2011 в 10:49)
 

А как составить конструкцию запрет всех кроме одного?

  Ответить  
 
 автор: cheops   (06.09.2011 в 11:45)   письмо автору
 
   для: Braz   (06.09.2011 в 11:13)
 

Можно использовать больше чем две конструкции, сначала запретив все js, а потом разрешив тот, который нужен (только наоборот не делайте - тут кто последним выполнился, тот и прав).
<FilesMatch "\.(js)$"> 
 order allow,deny 
 deny from all 
</FilesMatch>
<Files "options.js"> 
 order allow,deny 
 allow from all 
</Files>

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

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