2

我一直在网上搜索,但找不到这个特定问题的答案。

我正在使用 IIS 重写模块来阻止对 WOFF 和 EOT 文件的直接访问,以阻止盗链和字体文件的盗窃。如果 HTTP_REFERER 与服务器名称不匹配,我会通过拒绝请求来做到这一点。

阻塞工作正常。但是,我有点不确定哪个是返回给客户端的最合适的响应代码。

这与阻止受限制的文件类型(如 .config、.asax 等)并不完全相同。因为浏览器请求这些文件是完全合理和合法的,但前提是请求被正确引用。

从逻辑上讲,我认为 403 是最正确的响应,因为服务器理解请求,但由于接收请求的方式(直接未提及)而拒绝提供内容。

我主要关心 404 是浏览器或代理等是否可能确定 URL 无效,并停止对资源发出进一步的请求。

我特别关注 403 的另一个问题是,如果某些浏览器可能会错误地解释这一点,并尝试从用户那里获得请求的额外身份验证。

另一种选择是简单地中止请求,这会导致套接字连接被丢弃。虽然做起来非常简单,但我不知道所有客户会如何回应。例如,我想知道某些浏览器或搜索引擎是否会将此视为临时网络故障,因此会继续尝试重新发出请求。

基本上我想确保对这些字体文件的合法请求将始终正常工作,同时(尽可能)保护文件不被误用。

任何想法将不胜感激。

谢谢,尤金

4

0 回答 0