|
|
|
| Здравствуйте, на сервере находятся файлы .js
Как мне правильно создать маску, чтобы запретить к ним доступ?
условие вида
<Files *.js>
запрещает обращение всем, в том числе и самому апачу, скрипты не работают
условие вида
<Files "\.(js)$">
вообще никому ничего не запрещает все спокойно все читают
Р.S. где можно почитать про все эти галочки, четрточки, тильды? | |
|
|
|
|
|
|
|
для: Braz
(06.09.2011 в 10:16)
| | Как полностью выглядит контейнер Files? Только если запретите обращение к js, то они станут бесполезными для выполнения на строне клиента, так как браузер их тоже не сможет загрузить.
PS галочки, черточки и тильды - это регулярные выражения, такой своеобразный декларативный язык программирования для обработки текста. Он включен почти во всех языки программирования и по нему очень мало толковых книг, пожалуй единственной является Регулярные Выражения. Дж. Фридл. | |
|
|
|
|
|
|
|
для: 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 - конструкция не работает | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.09.2011 в 10:49)
| | Спасибо! | |
|
|
|
|
|
|
|
для: cheops
(06.09.2011 в 10:49)
| | А как составить конструкцию запрет всех кроме одного? | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|