利用nginx secure link module防盗链
浏览:4998次 出处信息
之前写过一篇blog是《利用lighttpd的mod_secdownload实现防盗链》,最近看到nginx也有类似功能,叫secure_link_module模块也试验了一把。
nginx需要打一个补丁才能实现跟lighttpd一样,通过时间戳来控制url过期。
1.给nginx打补丁,下载《nginx-secure-link-ttl》:
cd nginx-0.7.62 patch -p1 < ../nginx-secure-link-ttl.patch |
2.编译nginx的时候加上“-with-http_secure_link_module”
3.配置nginx:
location /down/ {
secure_link_secret "sbear.cn"; //密钥
secure_link_ttl on;
root /data/test/down;
if ($secure_link = "") {
return 403;
}
rewrite ^ /$secure_link break;
} |
4.php demo:
<?php
define(URL_TIMEOUT, 3600); //这里设置过期时间单位是秒
$prefix = "http://www.sbear.cn/down";
$protected_resource = "test.exe";
$secret = "sbear.cn"; //密钥
$time = pack('N', time() + URL_TIMEOUT);
$timeout = bin2hex($time);
$hashmac = md5( $protected_resource . $time . $secret );
$url = $prefix . "/" . $hashmac . $timeout . "/" . $protected_resource;
echo "<a href=" . $url . ">down</a>";
echo time();
?> |
官方模块介绍:http://wiki.nginx.org/NginxHttpSecureLinkModule
建议继续学习:
- 配置Nginx+uwsgi更方便地部署python应用 (阅读:106484)
- 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (阅读:33535)
- 解析nginx负载均衡 (阅读:16137)
- Nginx模块开发入门 (阅读:10848)
- 检查nginx配置,重载配置以及重启的方法 (阅读:10376)
- Cacti 添加 Nginx 监控 (阅读:10126)
- Nginx+FastCgi+Php 的工作机制 (阅读:9877)
- nginx的配置文件 (阅读:9585)
- 奇怪的 Nginx 的 upstream timed out 引起响应 502 (阅读:9547)
- 解决 nginx 反向代理网页首尾出现神秘字符的问题 (阅读:8598)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:使用apache的404设置来转向可能不存在的页面
后一篇:Apache的prefork模式和worker模式的比较 >>
文章信息
- 作者:sbear 来源: 阿熊的窝
- 标签: nginx secure_link_modu 防盗链
- 发布时间:2009-10-29 12:00:02
建议继续学习
近3天十大热文
-
[1399] WordPress插件开发 -- 在插件使用 -
[113] 解决 nginx 反向代理网页首尾出现神秘字 -
[27] find命令的一点注意事项 -
[27] 分布式系统hash策略 -
[26] 如何建立合适的索引? -
[26] Oracle MTS模式下 进程地址与会话信 -
[25] 你应该知道的16个Linux服务器监控命令 -
[25] 浅谈MySQL索引背后的数据结构及算法 -
[25] 读书笔记-壹百度:百度十年千倍的29条法则 -
[24] Linux如何统计进程的CPU利用率
