防止将css与其他网站链接

gru*_*ber 5 c# asp.net iis cufon

我的网站上有一个comerce css.我使用IIS和供应商说其他人可以使用我的css字体,因为他们知道网址.是否可以设置服务器或其他东西,只有我的网站可以使用它?这是关于cufon

blo*_*art 1

不可靠。为了提供嵌入字体,它们需要可供公众阅读,并可由 CSS 引用。

您可以做的是创建一个 asp.net 页面,或者一个处理程序,它接受字体文件的参数,从网站中的某个位置读取文件(APP_DATA 是放置它们的好地方 - 您无法浏览到 APP_DATA )然后吐出来。在脚本中,您可以检查 HTTP_REFERER 服务器端变量,如果它为空,或者来自您的站点,您将服务器该文件,如果不是,则不会。

MSDN 有一个如何在 C# 中提供二进制文件的示例。您需要确保 MIME 类型正确,但请注意,这可能会破坏浏览器或代理提供的任何缓存。这也不会阻止人们通过在浏览器中输入 URL 并将其保存在本地来下载字体,但如果带宽是问题所在,那么这并不是真正的问题。

如果您使用的是 IIS7,您可以编写一个 Http 模块来为您执行引荐来源网址检查,Scott Hansleman不久前编写了一个用于防止图像盗取的模块,您可以对其进行编辑以符合您的目的。

  • +1,对于OP来说,同样重要的是要注意,没有什么可以阻止他们能够复制+粘贴它并自己托管它。我会质疑这样做的重要性,即使 CSS 带宽被流失,也可能很少。 (2认同)