我使用this site作为网络字体。 (这是一个像谷歌字体的网络字体提供商) 我需要像这个网站一样保护我的css和js文件。
当你看到下面的html文件时,这个css加载完成并且页面显示正确,但是你没有访问css文件。
此站点用于保护css文件的方法是什么?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>B Koodak test</title>
<link href='http://www.font-api.ir/css/B Koodak={font-api.ir}.css' rel='stylesheet'
type='text/css'>
<style>
.myclass{
font-family:B Koodak,'B Koodak',tahoma;
font-size:12px;
}
</style>
</head>
<body>
<div class="myclass">This Is Test Text.</div>
</body>
</html>
例如,如果使用访问此链接:
http://www.font-api.ir/css/B Koodak={font-api.ir}.css
此内容位于上述文件的base64中:(感谢@Barmar和@Cracker0dks)
Rk9OVC1BUEkuaXI6DQpTYWxhbSENCnNoYXlhZCBsYXplbSBiYXNoYWQgYmVkYW5pZCBrZSBjb3B5 IGthcmRhbiBrYXJlIGtob29iaSBuaXN0IQ0KbG90ZmFuIGZvbnRlIG1vcmVkZSBuYXphcmUga2hv ZCByYSBheiBmb250LWFwaS5pciBlbnRla2hhYiBrb25pZC4NCg ==
这是解码内容。这是一条消息,请不要复制我的css文件(用波斯语):
FONT-API.ir:
Salam!
shayad lazem bashad bedanid ke copy kardan kare khoobi nist!
lotfan fonte morede nazare khod ra az font-api.ir entekhab konid.
这是我的chrome开发人员工具图片:
网络标签,请求标头和响应:
答案 0 :(得分:5)
您指出的网站正在使用HTTP“Referrer”标头来保护其css文件。但是,绕过这种保护非常简单(例如通过伪造http报头或嗅探浏览器流量)。如果您坚持在您身边应用相同类型的支票,则必须通过网络服务器上的配置来执行此操作。
如果您使用的是Apache Web服务器,可以通过.htaccess执行此操作:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(css)$ - [NC,F,L]
以下是一个可用于生成css文件的htaccess的在线工具: http://www.htaccesstools.com/hotlink-protection/
答案 1 :(得分:0)
他们的css文件是可访问的。我知道自浏览器下载以来无法“保护”。
按照以下步骤查看所有css文件:
1.in chrome,open dev tools(f12)
2.click cntr + o
你现在看到所有的css文件
编辑回应评论:
你指的是css的一部分:@ font-face import。由于不可用,您的意思是当您尝试导入此字体时,它无法访问?如果是这样,他们可能会将对http请求的响应限制为字体的网址:http://www.font-api.ir/fontsdir/35.eot?#'
http://www.font-api.ir处的服务器可以根据请求资源的域来过滤其响应。
答案 2 :(得分:0)
理想情况下......无法保护images
,css
js
或其他任何内容,因为当浏览器加载网站时,它已加载所有这些元素.....如果浏览器能够加载它,那么任何人都可以看到/下载该网站的资产。
只有可能的事情是使用.htaccess
写假冒世界的东西。
至于你引用的网站,正在使用http.setRequestHeader
来欺骗你......没有什么是具体的......如果你仍然想要访问他们的东西,只需要做一些谷歌搜索,你你会明白这个区别! :)
答案 3 :(得分:-3)
他们使用.htaccess文件隐藏或保护文件/目录。 HTACCESS是一个功能强大的文件,可以操纵用户控制甚至访问权限。