防盗链

2020-05-29  本文已影响0人  云三木

盗链:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 比较常见的就是直接把别的网站图片链接直接放在自己的网站上,这样加载图片就会消耗被盗网站的资源。所以为了防止额外的资源消耗需要做防盗链处理。

一般防盗链有两种处理方法:
1.判断referer来源

location ~ .*\.(gif|png|image|jpg)$ {
    valid_referers none blocked baletu.com *.baletu.com;
    if ($invalid_referer) {
        #return 403;
        rewrite ^/ https://www.baidu.com/img/bd_log1.png;
    }
}

2.做签名验证

前端:
$sign = md5('mypass' . $_SERVICE['REMOTE_ADDR']); // mypass -- 自定义字符串  mypass+ip
<img src="http://img.xz7.com/up/2016-1/2016115173626.png?sign=<?= $sign ?>">
nginx:
参数说明:

accesskey on|off 模块开关
accesskey_hashmethod md5|sha-1 签名加密方式
accesskey_arg 参数名称
accesskey_signature 加密规则

location ~ .*\.(gif|png|image|jpg)$ {
    accesskey on;
    accesskey_hashmethod md5;
    accesskey_arg "sign";
    accesskey_signature "mypass$remote_addr"; # $remote_addr --- 客户端ip
}
上一篇 下一篇

猜你喜欢

热点阅读