2012-06-14 1 views
0

Очень часто мы связываем файлы CSS и JS с HTML-страницами PHP. Можем ли мы заблокировать открытие CSS и JS-файлов непосредственно из браузера. Поскольку исходный код может быть просмотрен кем-либо, он может открыть эти файлы, поняв путь. Как мы можем добиться блокировки этих файлов?Можем ли мы заблокировать открытие CSS, JS-файлов?

+5

Вы не можете. Если пользователь не смог их прочитать, веб-браузер не сможет их прочитать. – robertc

+0

Все, что вы можете сделать, это обфускация файлов, но на самом деле это не позволяет пользователю повторно использовать их как есть. – gcochard

+0

Скажем, например, мы можем установить разрешение 403 для таких папок, как www.websitename.com/images. Но все же файлы/изображения под деревом все еще доступны. –

ответ

0

Загляните в следующий ресурс, они могут помочь.

http://www.iwebtool.com/html_encrypter

http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php

http://refresh-sf.com/yui/

http://www.n1studios.net/tutorials/php/css-file-protection.html

все они являются как-то наоборот, и всегда есть способ, чтобы прочитать их. вы можете только сделать их трудными для чтения

1

Вам необходимо настроить свой веб-сервер на статический контент (js, img, css) только в том случае, если вы ссылаетесь на свой хост (глядя на заголовки http), но он не будет полностью мешать пользователю выполнять его. что касается пользователей php, они не будут видеть его, он будет работать на сервере и выведет большую часть времени, инертный html.

+0

Существует большая проблема с этим. Если браузер настроен не на отправку заголовка реферера, тогда, если вам требуется, чтобы он присутствовал и был установлен на сайт, эти люди не могут просматривать какие-либо ресурсы. –

+0

Что я говорю: без заголовка referrer пользователь не может видеть ресурсы, период. Поэтому, если бы у меня была система, через прокси-сервер, которая разделила это, или я настроил свой браузер таким образом, то я не вижу ничего такого, что было бы защищено. –

1

Базовый блок заставит браузер отправить действительный заголовок Referer при доступе к файлам. Это может быть сделано с некоторыми простыми .htaccess:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !your\.domain\.here [NC] 
RewriteCond %{REQUEST_FILENAME} \.(css|js) [NC] 
RewriteRule .* - [L,F] 

Однако это не хорошая идея, потому что это достаточно легко подделать ссылающейся, или добавить ссылку на эту страницу, чтобы браузер, естественно, направляет его. Кроме того, некоторые браузеры просто не отображают заголовок реферера.

+0

IME, это не так хорошо работает с Firefox ... по крайней мере, не более старые версии. – user1337

+0

Буду признателен за ваши комментарии по поводу моего ответа – Rab

1

Браузер должен иметь доступ к этим файлам, чтобы правильно отображать страницу. Вы можете запутать JS, либо с помощью чего-то основного, как минимизация, или чего-то более сложного, как How can I obfuscate (protect) JavaScript?

С помощью CSS вы можете попробовать что-то подобное.