说明:此文章说到的是SiteFactory图片防盗链功能的实现。
性能影响程度:一般
简单原理(对比):一般情况下对于图片这类静态文件都是由IIS直接返回,而在SiteFactory中,开启防盗链功能后,需要交由ASP.NET处理后才能返回,所以SiteFactory防盗链功能对于图片多的文章,系统性能会有一定的影响,请适当时候使用。
注意:SiteFactory2.0前版本(包含2.0),只支持图片的防盗链,不支持文件(如:rar)防盗链。
修改方法:
第一步,找到根目录下web.config 中增加下面的代码(默认已经配置好,如果还需要其他图片格式,可以自行添加):
< !--根据请求中指定的 URL 和 HTTP 谓词将传入的请求映射到相应的处理程序。-->
< httpHandlers>
< remove verb="*" path="*.asmx" />
< add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
< add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
< add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> < add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.jpg" type="PowerEasy.SiteFactory.Web.NoLeechImageHandler, PowerEasy.SiteFactory.Web" />
< add verb="*" path="*.gif" type="PowerEasy.SiteFactory.Web.NoLeechImageHandler, PowerEasy.SiteFactory.Web" />
< add verb="*" path="*.png" type="PowerEasy.SiteFactory.Web.NoLeechImageHandler, PowerEasy.SiteFactory.Web" />
< /httpHandlers>
< !--添加、移除或清除应用程序中的 HTTP 模块。-->
< httpModules>
第二步,需要在IIS中配置映射(IIS6一般需要配置,IIS7默认已经存在),把上面的图片类型映射到:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
简单操作步骤,打开IIS,选中该站点,右键,属性,主目录,配置,映射,添加:
可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
扩展名:.jpg
动作:全部动作
脚本引擎:勾选
确认文件是否存在:不勾选
其他图片格式只要修改下扩展名格式即可。
当其他网站转载您的图片时,就会显示根目录下的images/nopic.gif 这张图片。
效果:
![按此在新窗口浏览图片](http://cdn-img.sm-tc.cn/?src=l4uLj8XQ0I%2FO0ZKdyorRnJCS0J6Tk5aSmNDPxs%2FIzs7Qz8bMzs6ezMrP0s%2FRlY%2BY&restype=3&from=derive&pi=&v=1)
查看更多 动易Cms教程 动易Cms模板