首页 > 其他分享 >HTTP | 服务器防盗链

HTTP | 服务器防盗链

时间:2023-07-21 09:44:34浏览次数:32  
标签:HTTP 网站 盗链 服务器 页面 防盗链 图片

什么是防盗链

防盗链其实就是采用服务器端编程,通过url过滤技术实现的防止盗链的软件。

比如file.abc.com/test.rar 这个下载地址,如果没有装防盗链,别人就能轻而易举的在他的网站上引用这个地址。如果对file.abc.com 这个站的服务器端编程,比如通过file.abc.com/test.rar?authcode=xxxxxxxxxxxxxxxx& ip=127.0.0.1 绑定了ip,只能通过127.0.0.1来访问这个链接,而无法通过其他IP访问。

防盗链的定义

此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。

防盗链的产生

一般我们在网上浏览一个完整的页面并不是一次性全部传送到客户端的。如果所请求的页面带有图片或其他信息,那么第一个Http请求传送的是这个页面的文本,然后通过客户端的浏览器对这段文本进行解释执行,如果发现其中还有图片,那么客户端的浏览器会再次发送一条Http请求,当这个请求被处理后这个图片文件才会被传送到客户端,最后浏览器回将图片安放到页面的正确位置,就这样一个完整的页面要经过多次发送Http请求才能够被完整的显示。基于这样的机制,就会产生盗链问题:如果一个网站中没有其页面中所说图片信息,那么它完全可以链接到其他网站的图片信息上。这样,没有任何资源的网站利用了别的网站的资源来展示给浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,这样显然对于那些被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。

防盗链的实现

要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。 如果想对自己的网站进行防盗链保护,则需要针对不同的情况进行区别对待。如果网站服务器用的是apache,那么使用apache自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查refer,如果refer的信息来自其他网站则重定向到指定图片或网页上。 如果服务器使用的是IIS的话,则需要通过第三方插件来实现防盗链功能了,现在比较常用的一款产品叫做ISAPI_Rewrite,可以实现类似于apache的防盗链功能。另外对于论坛来说还可以使用“登录验证”的方法进行防盗链。

标签:HTTP,网站,盗链,服务器,页面,防盗链,图片
From: https://www.cnblogs.com/zhangxuegold/p/17570431.html

相关文章

  • [GPT] 如何配置抓包工具以解密HTTPS流量才能看到明文的域名地址
     要配置抓包工具以解密HTTPS流量,您需要执行以下步骤: 1.安装抓包工具:首先,确保您已经安装了支持HTTPS解密的抓包工具,例如Wireshark。 2.获取SSL证书:抓包工具需要使用目标网站的SSL证书来解密HTTPS流量。您可以通过以下两种方式之一获取SSL证书:a.从目标网站获取......
  • 本机搭建一个简单的HTTP服务器
    ①http-server是一个简单的零配置的命令行http服务器(基于nodejs),它足够强大便于生产和使用,用于本地测试和开发。②http-server是一个超轻量级web服务器。③当我们想要在服务器运行一些代码,但是又不会配置服务器的时候,就可以使用http-server就可以搞定。安装方法①使用Deepin/Ubuntu......
  • 云服务器韩国
    云服务器韩国云服务器(CloudServer)是一种基于云计算技术的虚拟计算资源,它能够提供可扩展的计算能力和存储空间,为用户提供强大的计算和存储能力。云服务器的运行环境和硬件资源都由云服务提供商进行管理和维护,用户只需要通过网络访问云服务器,无需关心硬件设备和系统管理。韩国作为......
  • NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMappi
    NoSuchMethodError:javax.servlet.http.HttpServletRequest.getHttpServletMapping1.介绍在Java应用程序中,可能会遇到javax.servlet.http.HttpServletRequest.getHttpServletMapping方法引发的NoSuchMethodError异常。这个异常通常是由于servletAPI版本不兼容导致的。本文将详......
  • java “HttpServletRequest”中删除“授权”标头
    JavaHttpServletRequest中删除授权标头在Java的Web开发中,我们经常使用HttpServletRequest对象来处理HTTP请求。HttpServletRequest对象提供了许多方法来获取请求的信息,包括请求头信息。有时候我们需要从请求头中删除某些特定的标头,本文将介绍如何在HttpServletRequest中删除授权......
  • Android程序调用接口http请求不到
    经过查询,安卓9.0之后,不允许采用http这种非安全模式,具体参考(48条消息)关于打包安卓Apk在安卓平板和手机不请求接口问题(underfined/netWorkError)问题解决_app打包后访问不了网络_It_渣渣宇的博客-CSDN博客如果还不行,则把相关防火墙在关掉......
  • Docker自建DNS服务器
    www.yuansredevsecops.top1.搭建搭建依然使⽤docker,安装前请安装好docker的运⾏时环境。 #创建⼀个持久化存放⽂件的⽬录 mkdir-p/opt/docker/bind #使⽤容器创建应⽤ dockerrun--namebind-d--restart=always\ --publish53:53/tcp--publish53:53/udp--publ......
  • appsmith使用第三方库进行http请求
    安装使用exportdefault{ debugMeter:async()=>{ letrID=Number(Select1.selectedOptionValue); letmetricName=Input6.text; letmeterAsset=Input7.text; letbusAddr=Input8.text; letmeterAddr=Number(Input9.text); letregisterAddr=......
  • 在一台服务器,一个工程内做三个虚拟网站
    HowtohandlemultiplesitesinDjango:theproblemConsiderasetupwherethesameDjangoprojecthasabunchofappsthatcouldbereachedfrommultipledomains:Withadefaultsetupeveryrequesttowww.example-a.dev,www.example-b.dev,orwww.......
  • http方法通俗解释
    这些是HTTP请求方法,用于指定客户端与服务器之间进行数据交互的方式和目的。以下是它们的通俗解释:1.GET:下载网页2.POST:上传数据3.PUT:上传文件4.DELETE:删除文件5.OPTIONS:查询支持选项6.HEAD:只要响应头7.PATCH:更新文件8.TRACE:回显请求9.CONNECT:......