nginx使用secure_link模块防盗链
导读
secure_link模块介绍
ngx_http_secure_link_module是nginx内置的一个防盗链模块
使用这个模块,可以有效的防止文件被其他网站盗用.
有效防止服务器流量流失.
secure_link模块如何启用
编译时加入以下参数(0.7.18后版本可用)
--with-http_secure_link_module
nginx设置secure_link
location / { secure_link $arg_md5,$arg_expires; #设置两个变量 secure_link_md5 "key$remote_addr$arg_expires"; #设置md5,当作口令 if ($secure_link = "") { return 403; } if ($secure_link = "0") { return 410; } }
网站生成口令设置[php为例]
$secret = 'key'; // key,自定义秘钥 $ipip=$_SERVER["REMOTE_ADDR"]; $expires = time()+300; //这里是300妙内访问有效 $md5 = base64_encode(md5($secret . $ipip . $expires, true)); // MD5生成 $md5 = strtr($md5, '+/', '-_'); // + and / 替换掉 $md5 = str_replace('=', '', $md5); // 替换= $url = "http://domain.com/test.zip?md5=$md5&expires=$expires"; //安全下载链接demo设置 $arr = array("url"=>$url, "expires"=>date("Y-m-d H:i:s", $expires), "md5"=>$md5); echo json_encode($arr); //json格式输出
评论(0)