CN108521428B - 一种基于jenkins的公网防爬虫的实现方法及系统 - Google Patents

一种基于jenkins的公网防爬虫的实现方法及系统 Download PDF

Info

Publication number
CN108521428B
CN108521428B CN201810360531.XA CN201810360531A CN108521428B CN 108521428 B CN108521428 B CN 108521428B CN 201810360531 A CN201810360531 A CN 201810360531A CN 108521428 B CN108521428 B CN 108521428B
Authority
CN
China
Prior art keywords
jenkins
webhook
public network
web
hosting platform
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
Application number
CN201810360531.XA
Other languages
English (en)
Other versions
CN108521428A (zh
Inventor
谭旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Jiyi Network Technology Co ltd
Original Assignee
Wuhan Jiyi Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Jiyi Network Technology Co ltd filed Critical Wuhan Jiyi Network Technology Co ltd
Priority to CN201810360531.XA priority Critical patent/CN108521428B/zh
Publication of CN108521428A publication Critical patent/CN108521428A/zh
Application granted granted Critical
Publication of CN108521428B publication Critical patent/CN108521428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Selective Calling Equipment (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于jenkins的公网防爬虫的实现方法及系统,首先部署web和jenkins并配置第三方代码托管的webhook,然后进行抓包分析请求:将请求中项目名、token提取出来,再进行权限更改以及接口编写。通过接口的权限和接口的修改,防止了爬虫爬取部署到公网的jenkins的关键信息,与现有技术相比,修改简单,修改成功后能够长期使用,不需要维护,同时项目具有独立性,通用性。

Description

一种基于jenkins的公网防爬虫的实现方法及系统
技术领域
本发明涉及计算机网页设计领域,更具体地说,涉及一种基于jenkins的公网防爬虫的实现方法及系统。
背景技术
把jenkins部署在公网上,虽然设置了匿名用户只可读,但是匿名用户依然可以看到构建的项目,在公网上,爬虫很容易就能爬取到项目名称以及一些不想被别人看到的东西。而且如果别人知道github或者bitbucket上的webhook链接,别人就能直接构建你的项目,非常不安全。如果把jenkins设置成匿名用户什么权限都没有,那webhook也就成了403,无法正常进行项目的构建。
现有技术提供了两种解决方法:第一种在网站后台做权限控制,有管理员权限的才能进jenkins和对jenkins的操作,也就是在网站后台做了一层过滤,只有通过这层过滤的才能对jenkins操作,这种方式只有当网站后台和Jenkins是父子级关系的时候才能实现,同级项目无法实现,因此本种使用范围受限;第二种在nginx里面作设置,只允许内网访问jenkins,缺陷是如果公司外网ip经常发生后变化,则需要在nginx里面做更改ip,修改太过于频繁,不利于维护。
发明内容
针对上述技术问题,提供了一种基于jenkins的公网防爬虫的实现方法及系统,以方便的将jenkins部署到公网,同时不用担心被爬虫爬取到关键信息。
根据本发明的其中一方面,本发明为解决其技术问题所采用的技术方案是:构造一种基于jenkins的公网防爬虫的实现方法,包括如下步骤:
(1)部署web和jenkins并配置第三方代码托管的webhook:对于本地设备,在公网环境下部署web网站和jenkins,关掉匿名用户对于所述jenkins的所有权限;登录第三方代码托管平台,在第三方代码托管平台的webhook中配置远程地址;每次有push时,本地设备都会给所述远程地址发送一个post请求;
(2)抓包分析请求:对上述的post请求进行抓包分析,将post请求中的项目名、token提取出来;
(3)权限更改以及接口编写:在本地设备的web系统中编写自动登录用以登陆所述webhook,再利用编写的自动登陆进行构建操作,将步骤(2)中提取出来的项目名和token带入到jekins的构建中;在所述webhook和所述jenkins之间做一层控制,当第三方代码托管平台上有push去触发第三方代码托管平台的时候,把所述webhook设置成web后台的链接后再去触发web后台的url,在web后台的url执行远程登陆所述jenkins,去请求触发构建的url。
在本发明的基于jenkins的公网防爬虫的实现方法中,在第三方代码托管平台的webhook中配置远程地址完成后,还包括下述步骤:
打开所述jenkins的权限进行测试,确认所述jenkins的所有权限对匿名用户是关闭的才进行后续步骤的执行。
在本发明的基于jenkins的公网防爬虫的实现方法中,关掉匿名用户对于所述jenkins的所有权限后,webhook的触发变成403fordden,且需要登录。
在本发明的基于jenkins的公网防爬虫的实现方法中,所述编写自动登录具体包括编写登录用户名和登录密码。
根据本发明的另一方面,本发明为解决其技术问题,还提供了一种基于jenkins的公网防爬虫的实现系统,包括如下模块:
用于部署web和jenkins并配置第三方代码托管的webhook的部署配置模块,具体用于对于本地设备,在公网环境下部署web网站和jenkins,关掉匿名用户对于所述jenkins的所有权限;登录第三方代码托管平台,在第三方代码托管平台的webhook中配置远程地址;每次有push时,本地设备都会给所述远程地址发送一个post请求;
抓包分析请求模块,具体用于对上述的post请求进行抓包分析,将post请求中的项目名、token提取出来;
权限更改以及接口编写模块,具体用于在本地设备的web系统中编写自动登录用以登陆所述webhook,再利用编写的自动登陆进行构建操作,将抓包分析请求模块中提取出来的项目名和token带入到jekins的构建中;在所述webhook和所述jenkins之间做一层控制,当第三方代码托管平台上有push去触发第三方代码托管平台的时候,把所述webhook设置成web后台的链接后再去触发web后台的url,在web后台的url执行远程登陆所述jenkins,去请求触发构建的url。
在本发明的基于jenkins的公网防爬虫的实现系统中,在第三方代码托管平台的webhook中配置远程地址完成后,所述实现系统还调用下述模块:
权限测试模块,用于打开所述jenkins的权限进行测试,确认所述jenkins的所有权限对匿名用户是关闭的才进行后续步骤的执行。
在本发明的基于jenkins的公网防爬虫的实现系统中,关掉匿名用户对于所述jenkins的所有权限后,webhook的触发变成403fordden,且需要登录。
在本发明的基于jenkins的公网防爬虫的实现系统中,所述编写自动登录具体包括编写登录用户名和登录密码。
实施本发明的基于jenkins的公网防爬虫的实现方法及系统,通过接口的权限和接口的修改,防止了爬虫爬取部署到公网的jenkins的关键信息,与现有技术相比,修改简单,修改成功后能够长期使用,不需要维护,同时项目具有独立性,通用性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的基于jenkins的公网防爬虫的实现方法一实施例的流程图;
图2是本发明的基于jenkins的公网防爬虫的实现方法一实施例的原理图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。
BitBucket是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
托管代码(managed code)同受管制的代码,由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。
PUSH又叫做服务信息或推入信息,是一种特殊格式的短信。
webhook是一种web回调或者http的push API,是向APP或者其他应用提供实时信息的一种方式。Webhook在数据产生时立即发送数据,也就是你能实时收到数据。这一种不同于典型的API,需要用了实时性需要足够快的轮询。这无论是对生产还是对消费者都是高效的,唯一的缺点是初始建立困难。
参考图1,其为本发明的基于jenkins的公网防爬虫的实现方法一实施例的流程图。本实施例中,该实现方法具体可以分为以下几个步骤:
S1、部署web和jenkins,配置第三方代码托管的webhook
对于本地终端中,在公网环境下部署web网站和jenkins,关掉匿名用户所有的权限,包括可读权限,这个时候webhook的触发将会变成403fordden,需要登陆。登录第三方代码托管平台,在webhook中配置地址,每次push都会给这个远程地址发送一个post请求。配置完成之后可以打开jenkins的权限,进行测试,确保jenkins对于匿名用户的权限是关闭的,否则重新关闭匿名用户的权限。
S2、抓包分析请求
对上述的post请求抓包分析,将请求中的有用的参数列出来,比如项目名、token等关键信息。
S3、更改权限和编写接口
由于设置了匿名权限,需要在web系统中编写自动登录,通过用户命和密码登录,再进行构建操作,通过post请求,接收上述的项目名和token,带入到jekins的构建中。webhook和jenkins之间做一层控制,当第三方代码托管平台上有push去触发第三方代码托管平台的时候,把webhook设置成web后台的链接,再去触发web后台的url,在web后台对应的url执行远程登陆jenkins,去请求触发构建的url。
本发明还提供了一种基于jenkins的公网防爬虫的实现系统,包括如下模块:部署配置模块21、抓包分析请求模块22以及权限更改以及接口编写模块23。其中部署配置模块21用于部署web和jenkins并配置第三方代码托管的webhook,具体用于对于本地设备,在公网环境下部署web网站和jenkins,关掉匿名用户对于所述jenkins的所有权限;登录第三方代码托管平台,在第三方代码托管平台的webhook中配置远程地址;每次有push时,本地设备都会给所述远程地址发送一个post请求。抓包分析请求模块22具体用于对上述的post请求进行抓包分析,将post请求中的项目名、token提取出来。权限更改以及接口编写模块23具体用于在本地设备的web系统中编写自动登录用以登陆所述webhook,再利用编写的自动登陆进行构建操作,将抓包分析请求模块22中提取出来的项目名和token带入到jekins的构建中;在所述webhook和所述jenkins之间做一层控制,当第三方代码托管平台上有push去触发第三方代码托管平台的时候,把所述webhook设置成web后台的链接后再去触发web后台的url,在web后台的url执行远程登陆所述jenkins,去请求触发构建的url。
在第三方代码托管平台的webhook中配置远程地址完成后,所述系统还调用权限测试模块,权限测试模块用于打开所述jenkins的权限进行测试,确认所述jenkins的所有权限对匿名用户是关闭的才进行后续步骤的执行。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (8)

1.一种基于jenkins的公网防爬虫的实现方法,其特征在于,包括如下步骤:
(1)部署web和jenkins并配置第三方代码托管的webhook:对于本地设备,在公网环境下部署web网站和jenkins,关掉匿名用户对于所述jenkins的所有权限;登录第三方代码托管平台,在第三方代码托管平台的webhook中配置远程地址;每次有push时,本地设备都会给所述远程地址发送一个post请求;
(2)抓包分析请求:对上述的post请求进行抓包分析,将post请求中的项目名、token提取出来;
(3)权限更改以及接口编写:在本地设备的web系统中编写自动登录用以登陆所述webhook,再利用编写的自动登陆进行构建操作,将步骤(2)中提取出来的项目名和token带入到jekins的构建中;在所述webhook和所述jenkins之间做一层控制,当第三方代码托管平台上有push去触发第三方代码托管平台的时候,把所述webhook设置成web后台的链接后再去触发web后台的url,在web后台的url执行远程登陆所述jenkins,去请求触发构建的url。
2.根据权利要求1所述的基于jenkins的公网防爬虫的实现方法,其特征在于,在第三方代码托管平台的webhook中配置远程地址完成后,还包括下述步骤:
打开所述jenkins的权限进行测试,确认所述jenkins的所有权限对匿名用户是关闭的才进行后续步骤的执行。
3.根据权利要求1所述的基于jenkins的公网防爬虫的实现方法,其特征在于,关掉匿名用户对于所述jenkins的所有权限后,webhook的触发变成403fordden,且需要登录。
4.根据权利要求1所述的基于jenkins的公网防爬虫的实现方法,其特征在于,所述编写自动登录具体包括编写登录用户名和登录密码。
5.一种基于jenkins的公网防爬虫的实现系统,其特征在于,包括如下模块:
用于部署web和jenkins并配置第三方代码托管的webhook的部署配置模块,具体用于对于本地设备,在公网环境下部署web网站和jenkins,关掉匿名用户对于所述jenkins的所有权限;登录第三方代码托管平台,在第三方代码托管平台的webhook中配置远程地址;每次有push时,本地设备都会给所述远程地址发送一个post请求;
抓包分析请求模块,具体用于对上述的post请求进行抓包分析,将post请求中的项目名、token提取出来;
权限更改以及接口编写模块,具体用于在本地设备的web系统中编写自动登录用以登陆所述webhook,再利用编写的自动登陆进行构建操作,将抓包分析请求模块中提取出来的项目名和token带入到jekins的构建中;在所述webhook和所述jenkins之间做一层控制,当第三方代码托管平台上有push去触发第三方代码托管平台的时候,把所述webhook设置成web后台的链接后再去触发web后台的url,在web后台的url执行远程登陆所述jenkins,去请求触发构建的url。
6.根据权利要求5所述的基于jenkins的公网防爬虫的实现系统,其特征在于,在第三方代码托管平台的webhook中配置远程地址完成后,所述实现系统还调用下述模块:
权限测试模块,用于打开所述jenkins的权限进行测试,确认所述jenkins的所有权限对匿名用户是关闭的才进行后续步骤的执行。
7.根据权利要求5所述的基于jenkins的公网防爬虫的实现系统,其特征在于,关掉匿名用户对于所述jenkins的所有权限后,webhook的触发变成403fordden,且需要登录。
8.根据权利要求5所述的基于jenkins的公网防爬虫的实现系统,其特征在于,所述编写自动登录具体包括编写登录用户名和登录密码。
CN201810360531.XA 2018-04-20 2018-04-20 一种基于jenkins的公网防爬虫的实现方法及系统 Active CN108521428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810360531.XA CN108521428B (zh) 2018-04-20 2018-04-20 一种基于jenkins的公网防爬虫的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810360531.XA CN108521428B (zh) 2018-04-20 2018-04-20 一种基于jenkins的公网防爬虫的实现方法及系统

Publications (2)

Publication Number Publication Date
CN108521428A CN108521428A (zh) 2018-09-11
CN108521428B true CN108521428B (zh) 2020-09-01

Family

ID=63428909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810360531.XA Active CN108521428B (zh) 2018-04-20 2018-04-20 一种基于jenkins的公网防爬虫的实现方法及系统

Country Status (1)

Country Link
CN (1) CN108521428B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351259A (zh) * 2019-06-28 2019-10-18 深圳数位传媒科技有限公司 一种基于网络抓包获取app认证信息的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678120A (zh) * 2013-11-12 2014-03-26 北京京东尚科信息技术有限公司 基于建模的web应用自动化测试方法
CN104965933A (zh) * 2015-07-30 2015-10-07 北京奇虎科技有限公司 Url检测任务的分配方法、分配器及url检测系统
CN105743901A (zh) * 2016-03-07 2016-07-06 携程计算机技术(上海)有限公司 服务器、反爬虫系统和反爬虫验证方法
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的系统及方法
CN107426148A (zh) * 2017-03-30 2017-12-01 成都优易数据有限公司 一种基于运行环境特征识别的反爬虫方法及系统
CN107454083A (zh) * 2017-08-08 2017-12-08 四川长虹电器股份有限公司 反爬虫的方法
CN107483563A (zh) * 2017-07-31 2017-12-15 九次方大数据信息集团有限公司 防爬虫的数据查询方法和装置以及客户端和服务器
CN107707574A (zh) * 2017-11-23 2018-02-16 四川长虹电器股份有限公司 一种基于访问行为的反爬虫方法
CN107770171A (zh) * 2017-10-18 2018-03-06 厦门集微科技有限公司 服务器反爬虫的验证方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678120A (zh) * 2013-11-12 2014-03-26 北京京东尚科信息技术有限公司 基于建模的web应用自动化测试方法
CN104965933A (zh) * 2015-07-30 2015-10-07 北京奇虎科技有限公司 Url检测任务的分配方法、分配器及url检测系统
CN105743901A (zh) * 2016-03-07 2016-07-06 携程计算机技术(上海)有限公司 服务器、反爬虫系统和反爬虫验证方法
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的系统及方法
CN107426148A (zh) * 2017-03-30 2017-12-01 成都优易数据有限公司 一种基于运行环境特征识别的反爬虫方法及系统
CN107483563A (zh) * 2017-07-31 2017-12-15 九次方大数据信息集团有限公司 防爬虫的数据查询方法和装置以及客户端和服务器
CN107454083A (zh) * 2017-08-08 2017-12-08 四川长虹电器股份有限公司 反爬虫的方法
CN107770171A (zh) * 2017-10-18 2018-03-06 厦门集微科技有限公司 服务器反爬虫的验证方法及系统
CN107707574A (zh) * 2017-11-23 2018-02-16 四川长虹电器股份有限公司 一种基于访问行为的反爬虫方法

Also Published As

Publication number Publication date
CN108521428A (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN107317724B (zh) 基于云计算技术的数据采集系统及方法
CN106776313B (zh) 一种模拟服务的方法、装置及集中管理平台
US9369349B2 (en) Automatic extraction, modeling, and code mapping of application user interface display screens and components
CN106101145B (zh) 一种网站漏洞检测方法及装置
CN104239786B (zh) 免root主动防御配置方法及装置
CN105426760A (zh) 一种安卓恶意应用的检测方法及装置
CN109040235A (zh) 一种基于区块链技术的工业控制系统操作记录的存储方法
US10686821B2 (en) Analysis of mobile applications
CN101204039A (zh) 设备向服务器注册的系统及方法
CN113704767A (zh) 融合漏洞扫描引擎和漏洞工单管理的漏洞管理系统
CN101656710A (zh) 主动审计系统及方法
CN102185716A (zh) 一种通信设备通用管理方法及系统
CN106789869B (zh) 基于Basic认证的流量代理漏洞检测方法及系统
CN104281808A (zh) 一种通用的Android恶意行为检测方法
CN111885211A (zh) 一种应用发布方法和装置
CN114448654B (zh) 一种基于区块链的分布式可信审计安全存证方法
CN103685354A (zh) 一种基于rmi协议的测试方法和装置
CN101854359B (zh) 基于虚拟化计算的权限控制方法
CN110099129A (zh) 一种数据传输方法以及设备
Hale et al. A testbed and process for analyzing attack vectors and vulnerabilities in hybrid mobile apps connected to restful web services
CN112698820A (zh) 存储器和交换机统一监控管理方法、装置和计算机设备
CN108521428B (zh) 一种基于jenkins的公网防爬虫的实现方法及系统
CN114465867A (zh) 服务器的维护方法、装置、存储介质及处理器
KR102048141B1 (ko) 신규 정보보안 취약점 선제 대응 시스템 및 방법
CN105553775B (zh) 一种测试系统中信息的获取方法、装置及测试系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: An implementation method and system of public network anti crawler based on Jenkins

Effective date of registration: 20210622

Granted publication date: 20200901

Pledgee: Bank of China Limited Wuhan Donghu New Technology Development Zone Branch

Pledgor: WUHAN JIYI NETWORK TECHNOLOGY Co.,Ltd.

Registration number: Y2021420000041

PE01 Entry into force of the registration of the contract for pledge of patent right