【问题标题】:IIS prevent image hotlinking both HTTP and HTTPSIIS 防止图像热链接 HTTP 和 HTTPS
【发布时间】:2014-01-14 04:35:57
【问题描述】:

我正在使用此代码来防止图像热链接

<rule name="Prevent Hotlinking">
    <match url=".*\.(jpg|jpeg|png|gif|bmp)$"/>
    <conditions>
        <add input="{HTTP_REFERER}" pattern="^$" negate="true" />
        <add input="{HTTP_REFERER}" pattern="^http://domain\.com/.*$" negate="true" />
    </conditions>
    <action type="Rewrite" url="/img/hotlink-logo.png" appendQueryString="false" />
</rule>

但是,当我访问 HTTPS 部分时,我的所有图像都被替换为 hotlink-logo.png。我尝试添加第二条规则来管理 hTTPS 请求,但出现了同样的问题。

我尝试为 HTTPS 添加第二个条件,但随后再次允许热链接。

有什么建议吗?谢谢

【问题讨论】:

    标签: iis web-config


    【解决方案1】:

    您需要在正则表达式中包含您的两个网址:

    ^https?://domain\.com/.*$
    

    【讨论】:

    • 客户端浏览器不总是提供referer头吗?
    • @Jonathan:正确。
    • @SLaks 所以这个解决方案甚至可以阻止图像显示在您自己的域中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多