2013-12-16 188 views
1

我正在创建一个php网站,我想保护我的css文件。因此,如果任何用户试图直接在浏览器中打开它,他将无法看到此代码。我已经创建.htaccess文件,并写道文件夹权限.htaccess

# no one gets in here! 
deny from all 

ErrorDocument 403 "You dont have sufficient priviliges to view this page. 

但现在我的CSS并不是在任何页面都呈现。我如何实现这个功能?

+0

为什么你要这么做? –

+0

我想保护我的css代码,没有人能看到我的css代码 – user3106347

+0

你想保护的CSS中有什么?我们有游戏机.. –

回答

3

通过.htaccess保护文件,将阻止他们通过浏览器打开。因此,当浏览器尝试加载此文件来渲染CSS时,它将无法访问它。

不知何故很明显 - 不是吗?

另外 - CSS,HTML,JavaScript文件不能被保护,在浏览器中打开,因为为了达到其目的的应该是从浏览器访问...

2

不是100%万无一失,但你可以做这通过HTTP_REFERER检查。

把这个代码在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 

RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/ [NC] 
RewriteRule \.(css|js|jpe?g|gif|bmp|png)$ - [F,NC] 

替换yourdomain\.com用您的实际域名。

现在你自己的页面将能够访问CSS,JS,图像文件,但这些外部的文件不能被访问

+0

这是绝不能保护......但对于不知道网络浏览器如何工作的人来说,它会起作用。仍然那些知道如何打开浏览器中的CSS将能够访问它... – AlexKey

+0

@AlexKey你的意思是使用Firebug/Inspect元素? – Hussain

+0

你可以看到我是如何开始我的答案'不是100%万无一失'。但它仍然会阻止大多数不知道如何破解HTTP_REFERER头的用户。 – anubhava