CN102752300B - 动态防盗链系统和动态防盗链方法 - Google Patents
动态防盗链系统和动态防盗链方法 Download PDFInfo
- Publication number
- CN102752300B CN102752300B CN201210223782.6A CN201210223782A CN102752300B CN 102752300 B CN102752300 B CN 102752300B CN 201210223782 A CN201210223782 A CN 201210223782A CN 102752300 B CN102752300 B CN 102752300B
- Authority
- CN
- China
- Prior art keywords
- website
- dynamic
- resource file
- authority information
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种动态防盗链系统,包括:权限信息模块,位于预设的数据库服务器,保存第一网站的资源文件的权限信息;动态防盗链模块,位于预设的代理服务器,接收第二网站对所述资源文件的获取请求,并从所述权限信息模块读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。相应地,本发明还提供了一种动态防盗链方法。通过本发明的技术方案,能够根据用户设置的权限信息在代理服务器上对外链网站的资源请求进行动态过滤,降低动态防盗链模块和权限信息数据的耦合,从而减轻门户网站的系统压力,同时提高其防盗链功能的修改效率。
Description
技术领域
本发明涉及动态防盗链技术领域,具体而言,涉及一种动态防盗链系统和一种动态防盗链方法。
背景技术
在一个网站对外发布时,也同时将自己的网站资源发布到了互联网上。其他网站在没有经过允许的情况下直接访问自己网站资源,这样就可能存在保密性、不必要流量等多种问题。
于是有的网站直接使用nginx的防盗链功能,但是nginx的防盗链功能是在配置文件中配置,很不灵活,不能实现动态配置黑(白)名单的功能。还有的网站就采取了系统认证功能,直接在自己的系统中设置允许访问的域名,在请求本网站资源时在系统中进行认证。以上的两种方案都存在一定的缺陷:1、直接使用nginx防盗链,不够灵活,不能够实现动态配置黑(白)名单。每次修改完黑(白)名单都需要修改配置文件,而且必须重启nginx或者重新加载配置文件;2、在系统中直接进行认证,则增加了系统压力,影响了系统的性能。
因此,需要一种新的技术方案,能够根据用户设置的权限信息在代理服务器上对外链网站的资源请求进行动态过滤,降低动态防盗链模块和权限信息数据的耦合,从而减轻门户网站的系统压力,同时提高其防盗链功能的修改效率。
发明内容
本发明所要解决的技术问题在于,提供一种新的技术方案,能够根据用户设置的权限信息在代理服务器上对外链网站的资源请求进行动态过滤,降低动态防盗链模块和权限信息数据的耦合,从而减轻门户网站的系统压力,同时提高其防盗链功能的修改效率。
有鉴于此,本发明提供了一种动态防盗链系统,包括:权限信息模块,位于预设的数据库服务器,保存第一网站的资源文件的权限信息;动态防盗链模块,位于预设的代理服务器,接收第二网站对所述资源文件的获取请求,并从所述权限信息模块读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。在本技术方案中,所述动态防盗链模块位于所述预设的代理服务器,与所述第一网站分离,进而减轻了第一网站的系统压力。
在上述技术方案中,优选地,所述权限信息模块还实时根据所述第一网站的修改操作,修改所述数据库服务器上的所述权限信息。由于所述动态防盗链模块与所述权限信息模块分别预设于不同的服务器,因此当所述权限信息被修改时,所述动态防盗链模块并不需要修改其配置文件,亦不需要进行常规防盗链系统所必需的重启操作,提高了所述第一网站的修改效率。
在上述技术方案中,优选地,所述权限信息包括允许和/或拒绝获取所述资源文件的网站的信息。在本技术方案中,所述权限信息的形式可以是通常所说的白和/或黑名单,即预先存储的以允许或者拒绝其完成某项操作而筛选出的某一类对象的信息的集合。
在上述技术方案中,优选地,所述动态防盗链模块在判断结果为否时,拒绝提供所述资源文件给所述第二网站,并返回错误信息给所述第二网站。在本技术方案中,所述动态防盗链模块在拒绝向所述第二网站提供所述资源文件时,会向所述第二网站返回一个错误信息(如错误类型403),这样使得第二网站的请求能够得到明确的反馈。
在本技术方案中,优选地,所述动态防盗链模块还在所述数据库服务器上生成日志,记录是否将所述资源文件提供给所述第二网站。通过生成日志记录,能够使得所述第一网站的维护者更加清楚地看到所述动态防盗链系统的运行情况,便于其对所述第一网站及所述动态防盗链系统进行更有针对性的维护作业。
本发明还提供了一种动态防盗链方法,包括:步骤202,通过预设的数据库服务器保存第一网站的资源文件的权限信息;步骤204,通过位于预设的代理服务器接收第二网站对所述资源文件的获取请求,并从所述数据库服务器读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。在本技术方案中,动态防盗链的功能通过所述预设的代理服务器实现,与所述第一网站分离,进而减轻了第一网站的系统压力。
在上述技术方案中,优选地,还包括:实时根据所述第一网站的修改操作,修改所述数据库服务器上的所述权限信息。由于所述动态防盗链功能与所述权限信息的存储分别由不同的服务器完成,因此当所述权限信息被修改时,用于完成所述动态防盗链功能的服务器并不需要修改其配置文件,亦不需要进行常规防盗链系统所必需的重启操作,提高了所述第一网站的修改效率。
在上述技术方案中,优选地,所述权限信息包括允许和/或拒绝获取所述资源文件的网站的信息。在本技术方案中,所述权限信息的形式可以是通常所说的白和/或黑名单,即预先存储的以允许或者拒绝其完成某项操作而筛选出的某一类对象的信息的集合。
在上述技术方案中,优选地,所述步骤204还包括:在判断结果为否时,拒绝提供所述资源文件给所述第二网站,并返回错误信息给所述第二网站。在本技术方案中,通过在拒绝向所述第二网站提供所述资源文件时,向所述第二网站返回一个错误信息(如错误类型403),使得第二网站的请求能够得到明确的反馈。
在上述技术方案中,优选地,还包括:在所述数据库服务器上生成日志,记录是否将所述资源文件提供给所述第二网站。通过生成日志记录,能够使得所述第一网站的维护者更加清楚地看到所述动态防盗链系统的运行情况,便于其对所述第一网站及所述动态防盗链系统进行更有针对性的维护作业。
通过以上技术方案,能够根据用户设置的权限信息在代理服务器上对外链网站的资源请求进行动态过滤,降低动态防盗链模块和权限信息数据的耦合,从而减轻门户网站的系统压力,同时提高其防盗链功能的修改效率。
附图说明
图1示出了根据本发明的实施例的动态防盗链系统的框图;
图2示出了根据本发明的实施例的动态防盗链方法的流程图;
图3示出了根据本发明的实施例的动态防盗链系统的结构简图;
图4示出了根据本发明的实施例的所述动态防盗链模块请求处理流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的动态防盗链系统的框图。
如图1所示,根据本发明的实施例的动态防盗链系统100,包括:权限信息模块102,位于预设的数据库服务器,保存第一网站的资源文件的权限信息;动态防盗链模块104,位于预设的代理服务器,接收第二网站对所述资源文件的获取请求,并从所述权限信息模块102读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。在本技术方案中,所述动态防盗链模块104位于所述预设的代理服务器,与所述第一网站分离,进而减轻了第一网站的系统压力。
在上述技术方案中,优选地,所述权限信息模块102还实时根据所述第一网站的修改操作,修改所述数据库服务器上的所述权限信息。由于所述动态防盗链模块104与所述权限信息模块102分别预设于不同的服务器,因此当所述权限信息被修改时,所述动态防盗链模块104并不需要修改其配置文件,亦不需要进行常规防盗链系统所必需的重启操作,提高了所述第一网站的修改效率。
在上述技术方案中,优选地,所述权限信息包括允许和/或拒绝获取所述资源文件的网站的信息。在本技术方案中,所述权限信息的形式可以是通常所说的白和/或黑名单,即预先存储的以允许或者拒绝其完成某项操作而筛选出的某一类对象的信息的集合。
在上述技术方案中,优选地,所述动态防盗链模块104在判断结果为否时,拒绝提供所述资源文件给所述第二网站,并返回错误信息给所述第二网站。在本技术方案中,所述动态防盗链模块104在拒绝向所述第二网站提供所述资源文件时,会向所述第二网站返回一个错误信息(如错误类型403),这样使得第二网站的请求能够得到明确的反馈。
在本技术方案中,优选地,所述动态防盗链模块104还在所述数据库服务器上生成日志,记录是否将所述资源文件提供给所述第二网站。通过生成日志记录,能够使得所述第一网站的维护者更加清楚地看到所述动态防盗链系统100的运行情况,便于其对所述第一网站及所述动态防盗链系统100进行更有针对性的维护作业。
图2示出了根据本发明的实施例的动态防盗链方法的流程图。
如图2所示,根据本发明的实施例的动态防盗链方法,包括:步骤202,通过预设的数据库服务器保存第一网站的资源文件的权限信息;步骤204,通过位于预设的代理服务器接收第二网站对所述资源文件的获取请求,并从所述数据库服务器读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。在本技术方案中,动态防盗链的功能通过所述预设的代理服务器实现,与所述第一网站分离,进而减轻了第一网站的系统压力。
在上述技术方案中,优选地,还包括:实时根据所述第一网站的修改操作,修改所述数据库服务器上的所述权限信息。由于所述动态防盗链功能与所述权限信息的存储分别由不同的服务器完成,因此当所述权限信息被修改时,用于完成所述动态防盗链功能的服务器并不需要修改其配置文件,亦不需要进行常规防盗链系统所必需的重启操作,提高了所述第一网站的修改效率。
在上述技术方案中,优选地,所述权限信息包括允许和/或拒绝获取所述资源文件的网站的信息。在本技术方案中,所述权限信息的形式可以是通常所说的白和/或黑名单,即预先存储的以允许或者拒绝其完成某项操作而筛选出的某一类对象的信息的集合。
在上述技术方案中,优选地,所述步骤204还包括:在判断结果为否时,拒绝提供所述资源文件给所述第二网站,并返回错误信息给所述第二网站。在本技术方案中,通过在拒绝向所述第二网站提供所述资源文件时,向所述第二网站返回一个错误信息(如错误类型403),使得第二网站的请求能够得到明确的反馈。
在上述技术方案中,优选地,还包括:在所述数据库服务器上生成日志,记录是否将所述资源文件提供给所述第二网站。通过生成日志记录,能够使得所述第一网站的维护者更加清楚地看到所述动态防盗链系统的运行情况,便于其对所述第一网站及所述动态防盗链系统进行更有针对性的维护作业。
图3示出了根据本发明的实施例的动态防盗链系统的结构简图。
如图3所示,根据本发明的实施例的动态防盗链系统的结构如下:
外链网站302,为资源文件的请求者,它向代理服务器304发出HTTP请求,即为从客户端到服务器端的请求消息,其具体内容为获取资源文件的请求;
代理服务器304,其英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息,是网络信息的中转站;
Nginx动态防盗链模块104,是在Nginx下开发的一个新模块,此模块是该发明的核心。Nginx("engine x")是一个高性能的HTTP和反向代理服务器;
资源存储设备308,为存储资源文件的服务器,如:图片服务器、MFS服务器等;
数据库服务器306,为门户网站310的数据存储服务器,存储了黑(白)名单等信息;
门户网站310,具有设置黑(白)名单的功能。
动态防盗链模块104部署在代理服务器304上,和门户网站310(或者存储系统)分离。当相关的资源文件获取请求到达代理服务器304时,动态防盗链模块104将根据门户网站310设置的黑白名单来进行认证。这个认证过程在代理服务器304上完成,即在代理层就可以单独处理外链网站302的资源请求,减轻了门户网站310(或者存储系统)的压力。通过认证的请求也无需经过门户网站310(或者存储系统)返回给外链网站302,而是由代理服务器304直接返回给外链网站302。
本实施例的技术方案区别于以往方案的地方在于:
1)添加一个代理层(代理服务器),在代理层处理这个资源请求的认证;
2)通过动态防盗链模块直接访问数据库服务器中的数据库获取黑(白)名单,无需修改配置文件;
3)由代理层(代理服务器)获取文件,然后直接返回给外链网站。
图4示出了根据本发明的实施例的所述动态防盗链模块请求处理流程图。
如图4所示,根据本发明的实施例的所述动态防盗链模块请求处理流程如下:
步骤402,由所述外链网站(即某客户端)将发送到所述代理服务器上,由所述动态防盗链模块获取;
步骤404,所述动态防盗链模块获取请求的URL后,截取URL中包含的信息,获取资源名称、所述外链网站域名等参数;
步骤406,由所述动态防盗链模块访问所述门户网站的数据库,根据所述获取的参数获取由所述门户网站设置的黑(白)名单列表;
步骤408,所述动态防盗链模块查找黑(白)名单中是否包含所述外链网站域名;
步骤410,所述动态防盗链模块根据查找结果判断所述外链网站是否被允许获取所述资料文件:若允许,则进入步骤414;若不允许,则进入步骤412;
步骤412,返回403错误信息,流程结束;
步骤414,所述代理服务器从其所代理的服务器中获取所述资源文件,并进入步骤416;
步骤416,将所述资料文件返回给所述客户端,流程结束。
所述门户网站将不参与所述的请求处理的整个流程,而且所述被代理服务器与其代理服务器也相互独立,这样就减轻了所述门户网站的压力,增强了其性能。而且所述动态防盗链模块获取黑(白)名单,也无需读取配置文件,直接从所述数据库中读取,这样就降低了所述动态防盗链模块和黑(白)名单数据之间的耦合,使得可以通过所述门户网站自身的功能动态地设置黑(白)名单,而无需进行重启Nginx的服务等操作。
以上结合附图详细说明了本发明的技术方案。通过本技术方案的应用,能够根据用户设置的权限信息在代理服务器上对外链网站的资源请求进行动态过滤,降低动态防盗链模块和权限信息数据的耦合,从而减轻门户网站的系统压力,同时提高其防盗链功能的修改效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种动态防盗链系统,其特征在于,包括:
权限信息模块,位于预设的数据库服务器,保存第一网站的资源文件的权限信息;
动态防盗链模块,位于预设的代理服务器,接收第二网站对所述资源文件的获取请求,并从所述权限信息模块读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。
2.根据权利要求1所述的动态防盗链系统,其特征在于,所述权限信息模块还实时根据所述第一网站的修改操作,修改所述数据库服务器上的所述权限信息。
3.根据权利要求1所述的动态防盗链系统,其特征在于,所述权限信息包括允许和/或拒绝获取所述资源文件的网站的信息。
4.根据权利要求1所述的动态防盗链系统,其特征在于,所述动态防盗链模块在判断结果为否时,拒绝提供所述资源文件给所述第二网站,并返回错误信息给所述第二网站。
5.根据权利要求1至4任一项所述的动态防盗链系统,其特征在于,所述动态防盗链模块还在所述数据库服务器上生成日志,记录是否将所述资源文件提供给所述第二网站。
6.一种动态防盗链方法,其特征在于,包括:
步骤202,通过预设的数据库服务器保存第一网站的资源文件的权限信息;
步骤204,通过预设的代理服务器接收第二网站对所述资源文件的获取请求,并从所述数据库服务器读取所述权限信息,根据所述权限信息判断所述第二网站是否具有获取所述资源文件的权限,并在判断结果为是时,获取所述资源文件并提供给所述第二网站。
7.根据权利要求6所述的动态防盗链方法,其特征在于,还包括:
实时根据所述第一网站的修改操作,修改所述数据库服务器上的所述权限信息。
8.根据权利要求6所述的动态防盗链方法,其特征在于,所述权限信息包括允许和/或拒绝获取所述资源文件的网站的信息。
9.根据权利要求6所述的动态防盗链方法,其特征在于,所述步骤204还包括:
在判断结果为否时,拒绝提供所述资源文件给所述第二网站,并返回错误信息给所述第二网站。
10.根据权利要求6至9任一项所述的动态防盗链方法,其特征在于,还包括:
在所述数据库服务器上生成日志,记录是否将所述资源文件提供给所述第二网站。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210223782.6A CN102752300B (zh) | 2012-06-28 | 2012-06-28 | 动态防盗链系统和动态防盗链方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210223782.6A CN102752300B (zh) | 2012-06-28 | 2012-06-28 | 动态防盗链系统和动态防盗链方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752300A CN102752300A (zh) | 2012-10-24 |
CN102752300B true CN102752300B (zh) | 2015-05-27 |
Family
ID=47032200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210223782.6A Active CN102752300B (zh) | 2012-06-28 | 2012-06-28 | 动态防盗链系统和动态防盗链方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752300B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067409B (zh) * | 2013-01-21 | 2015-10-14 | 中国科学院信息工程研究所 | 一种web盗链防护方法及其网关系统 |
CN104079531A (zh) * | 2013-03-26 | 2014-10-01 | 中国移动通信集团公司 | 一种盗链检测方法、系统及装置 |
CN103701796A (zh) * | 2013-12-23 | 2014-04-02 | 山东中创软件商用中间件股份有限公司 | 一种基于hash技术的防盗链系统和方法 |
CN104471918B (zh) | 2014-03-24 | 2017-11-03 | 华为技术有限公司 | 文件下载方法、装置和系统 |
CN104135507B (zh) * | 2014-06-30 | 2018-01-16 | 北京奇艺世纪科技有限公司 | 一种防盗链的方法和装置 |
CN106470186B (zh) * | 2015-08-17 | 2019-09-17 | 中国信息通信研究院 | 一种以跳转方式访问第三方资源的方法 |
CN106612261A (zh) * | 2015-10-26 | 2017-05-03 | 北京国双科技有限公司 | 网站数据获取方法、装置及系统 |
CN105898581A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 一种直播授权播放方法和装置 |
CN105553736A (zh) * | 2015-12-24 | 2016-05-04 | 北京奇虎科技有限公司 | 控制网络信息的方法和装置 |
CN107294927A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 基于网络终端的防盗链方法、装置和系统 |
CN111404898B (zh) * | 2020-03-06 | 2021-03-23 | 北京创世云科技有限公司 | 一种防盗链的方法、装置、存储介质及电子设备 |
CN114615008B (zh) * | 2022-01-14 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种海量存储分布式系统黑白名单控制方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457505B (zh) * | 2010-10-28 | 2016-05-11 | 快乐购物有限责任公司 | 一种购物网站管理方法及其管理平台 |
CN102045348B (zh) * | 2010-12-01 | 2013-08-07 | 北京迅捷英翔网络科技有限公司 | 一种防盗链系统及方法 |
-
2012
- 2012-06-28 CN CN201210223782.6A patent/CN102752300B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102752300A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752300B (zh) | 动态防盗链系统和动态防盗链方法 | |
CN108173850B (zh) | 一种基于区块链智能合约的身份认证系统和身份认证方法 | |
US10009356B2 (en) | Redirection method for electronic content | |
CN103716326B (zh) | 一种资源访问方法及用户资源网关 | |
US7827280B2 (en) | System and method for domain name filtering through the domain name system | |
US9135629B2 (en) | User targeting management, monitoring and enforcement | |
CN102349276B (zh) | 支持用户或实体的分布式数据的管理和交换的方法 | |
WO2017129016A1 (zh) | 一种资源访问方法、装置及系统 | |
US9684628B2 (en) | Mechanism for inserting trustworthy parameters into AJAX via server-side proxy | |
CN104184832B (zh) | 网络应用中的数据提交方法及装置 | |
CN103685590B (zh) | 获取ip地址的方法及系统 | |
MX2011003223A (es) | Acceso al proveedor de servicio. | |
CN102694830B (zh) | 一种实现网络内容分享的方法、系统和装置 | |
CN102065147A (zh) | 一种基于企业应用系统获取用户登录信息的方法及装置 | |
CN106685949A (zh) | 一种容器访问方法、装置以及系统 | |
CN104394133A (zh) | 登录方法和登录系统 | |
CN102413151A (zh) | 分享网络资源的方法及系统 | |
CN103888540B (zh) | 登录信息同步方法、被同步和同步网络服务器 | |
CN105956143A (zh) | 数据库访问方法及数据库代理节点 | |
WO2015074301A1 (zh) | 一种通过网址记录网页内容和式样的方法 | |
CN101547211B (zh) | 一种针对ip地址段扫描发现特定网站的方法 | |
KR100926780B1 (ko) | 유무선 위젯 서비스 시스템 및 그 방법 | |
CN104270358B (zh) | 可信网络交易系统客户端监控器及其实现方法 | |
JP2004220527A (ja) | 認証通信におけるセキュリティ方法 | |
WO2007033581A1 (en) | System and method for dynamically generating a user-centric portal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094 Haidian District North Road, Beijing, No. 68 Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: UFIDA SOFTWARE CO., LTD. TO: YONYOU NETWORK TECHNOLOGY CO., LTD. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |