热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

IIS图片防盗链和下载的解决方案

最近服务器需要防图片别盗链,所以找了很多代码,下面给出具体配置代码

在要启用Rewrite的IIS站点的Isapi上添加这个筛选器 

筛选器名称Rewrite 
可执行文件选择 c:\Rewrite\Rewrite.dll 即可以了 

httpd.ini是配置文件 

图片防盗链代码

[ISAPI_Rewrite]  
# 3600 = 1 hour  
CacheClockRate 3600  
RepeatLimit 32  
# Protect httpd.ini and httpd.parse.errors files  
# from accessing through HTTP  
RewriteCond Host: (.+)  
RewriteCond Referer: (?!http://\1.*).*  
RewriteRule .*\.(?:gif|jpg|png|bmp) /force.gif [I,O]  

如果你想对个别站点不防盗链的话或者你的论坛和supesite是分开的两个域名的话。以上方法会导致双方相互防盗链!不能正常调用 请按下面的方法改动 

RewriteCond Host: (.+) 
RewriteCond Referer: (?!http://\1.*).* 
RewriteRule .*\.(?:gif|jpg|png|) /block.gif [I,O] 
请把上面代码第二行改为: 
RewriteCond Referer: (?!http://(?:www\.jb51\.net|www\.discuz\.net)).+ 

上面这个代码的意思就是除了//www.jb51.net以及www.discuz.net这两个站点,在其它网站上盗链全部拒绝!

服务器 IIS服务器防盗链具体设置方法

今天主要说下IIS服务器防盗链的设置方法。

isapi_rewrite利用正则表达式进行替换规则的表示。进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。

IIS服务器防盗链的方法是在httpd.ini里面加入如下语句

RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

然后重启IIS,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。

如果你想对个别站点不防盗链的话或者你的论坛是分开的两个域名的话。以上方法会导致双方相互防盗链!不能正常调用请按下面的方法改动,具体代码:

RewriteCond Host: (.+)
RewriteCond Referer: (?!http://(?:www\.jb51\.net|www\.discuz\.net)).+
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

至此防盗链配置已经调好, 然后在网站根目录下建立block.gif文件,盗链的网站显示的就是这个图片了,终于可以摆脱了被盗链的烦恼了吧。其实discuz的后台附件设置也是可以设置防盗链的,只要设置附件链接有效期:8;下载附件来路检查:是即可,具体可以参考Discuz!附件上传设置方法和远程附件设置方法。


推荐阅读
  • 推荐两款实用的网络诊断工具
    大家好,因为一些私事很久没有更新博客了。今天向大家介绍两款非常有用的网络诊断工具——Tracert和Telnet,帮助你更好地理解和解决网络问题。 ... [详细]
  • 在Java应用程序开发过程中,FTP协议被广泛用于文件的上传和下载操作。本文通过Jakarta Commons Net库中的FTPClient类,详细介绍如何实现文件的上传和下载功能。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
  • 深入解析SSL Strip攻击机制
    本文详细介绍了SSL Strip(一种网络攻击形式)的工作原理及其对网络安全的影响。通过分析SSL与HTTPS的基本概念,探讨了SSL Strip如何利用某些网站的安全配置不足,实现中间人攻击,以及如何防范此类攻击。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • 本文详细探讨了 JMS (Java Message Service) 中创建会话(session)时使用的 createSession 方法的两个参数 paramA 和 paramB 的不同组合方式及其具体含义,特别是它们如何影响事务处理和消息确认模式。 ... [详细]
  • 深入解析MySQL查询优化:特定类型查询的高级策略
    本文详细探讨了MySQL中特定类型查询的优化方法,包括COUNT()查询、关联查询、LIMIT分页及UNION查询的优化技巧,旨在提高数据库查询效率。 ... [详细]
  • MySQL性能测试标准倡议:老叶提出的压测基准
    进行MySQL的压力测试通常是为了评估新旧版本之间的性能差异、验证硬件升级的效果、测试参数调整的影响以及评估新业务的负载承受能力。老叶提出了一个MySQL压力测试基准值倡议,旨在促进行业内的标准化和成果共享。 ... [详细]
  • APM(Application Performance Management,应用性能管理)对于提供互联网服务的企业至关重要。本文将深入探讨APM如何帮助识别和解决导致用户流失的技术问题,以及它在提升整体用户体验方面的作用。 ... [详细]
  • Redis安全防护深入解析
    本文详细探讨了如何通过指令安全、端口管理和SSL代理等措施有效保护Redis服务的安全性。 ... [详细]
  • JavaWeb技术架构解析
    本文探讨了JavaWeb开发中客户端与服务器端的交互模式,重点分析了B/S(浏览器/服务器)和C/S(客户端/服务器)两种架构的特点及应用场景。 ... [详细]
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • 利用Python实现自动化群发邮件
    本文详细介绍如何使用Python语言来实现邮件的自动群发功能,适合希望提高工作效率的技术爱好者和开发者。 ... [详细]
author-avatar
NHHermit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有