XSS跨站脚本攻击漏洞(Cross Site Scripting)

前提概要

本文章主要用于分享XSS跨站脚本攻击漏洞基础学习,以下是对XSS跨站脚本攻击漏洞的一些个人解析,请大家结合参考其他文章中的相关信息进行归纳和补充。


XSS跨站脚本攻击漏洞描述

        跨站脚本攻击(XSS)漏洞是一种常见且危害较大的网络安全隐患。它产生的根源主要在于网站对用户输入的验证不足,以及输出处理不当,使得攻击者有机可乘。

        当存在此类漏洞时,攻击者能够将恶意脚本注入目标网站。攻击类型多样,反射型 XSS 攻击者构建含恶意脚本的 URL,诱使用户点击,服务器响应后脚本在用户浏览器执行;存储型 XSS 则是攻击者将恶意脚本存入服务器,众多访问相关页面的用户都会因服务器返回的恶意内容而遭受攻击;DOM 型 XSS 通过篡改页面 DOM 树注入脚本。这些恶意脚本一旦在用户浏览器中执行,可能导致用户信息泄露,如登录凭证被盗取,或是网站被恶意篡改,严重威胁用户隐私与网站安全 。

XSS跨站脚本攻击漏洞原理

XSS 跨站脚本攻击漏洞的原理是攻击者利用网站对用户输入或输出处理不当的漏洞,将恶意脚本注入到目标网站中。当用户访问该网站时,浏览器会误认为这些恶意脚本是合法的,从而执行它们,导致用户的信息泄露、权限被滥用或其他恶意行为发生。根据注入方式和执行机制的不同,XSS 攻击主要分为以下三种类型:

 
  • 反射型 XSS:攻击者构造包含恶意脚本的 URL,诱使用户点击。服务器接收并处理该请求时,将用户输入的恶意脚本反射到响应页面中,返回给用户浏览器。浏览器解析页面时执行恶意脚本,从而实现攻击。这种攻击通常是一次性的,依赖用户主动点击恶意链接。
  • 存储型 XSS:攻击者将恶意脚本提交到目标网站的数据库或其他存储介质中,例如通过留言板、评论区等功能。当其他用户访问包含该恶意脚本的页面时,服务器从存储介质中读取并将恶意脚本发送给用户浏览器,浏览器执行脚本,导致攻击发生。存储型 XSS 攻击的影响范围更广,因为只要有用户访问相关页面,就可能受到攻击。
  • DOM 型 XSS:攻击者通过修改页面的 DOM 结构来注入恶意脚本。这种攻击主要发生在客户端,利用浏览器中 DOM 操作的漏洞,当用户与页面进行交互时,恶意脚本被执行。例如,攻击者通过修改 URL 参数或其他方式,改变页面中某些元素的属性或内容,从而注入并执行恶意脚本。与前两种类型不同,DOM 型 XSS 攻击不依赖服务器端的响应,完全在客户端的浏览器环境中进行。

XSS跨站脚本攻击漏洞场景

  1. URL 参数处理处:服务器或客户端对 URL 参数验证过滤不足,引发反射型 XSS。
  2. 表单输入模块:各类表单元素输入处理不当,易出现反射型或存储型 XSS。
  3. 搜索框功能区:搜索结果页面直接嵌入用户输入,产生反射型 XSS。
  4. 评论与留言系统:存储和展示环节未严格过滤,是存储型 XSS 温床。
  5. 用户资料修改处:对输入验证不充分,导致存储型 XSS。
  6. 富文本编辑器:输入过滤及内容处理不当,引发 XSS 漏洞。
  7. JSONP 回调处理:回调函数名验证缺陷,造成基于 JSONP 的 XSS。
  8. 动态 HTML 模板引擎:渲染时对数据转义过滤不足致 XSS。
  9. 浏览器本地存储操作:存读数据缺安全处理,引发 XSS。
  10. 日志记录与展示:日志未过滤恶意输入,查看时触发 XSS 。

XSS跨站脚本攻击漏洞危害

XSS 跨站脚本攻击漏洞可能导致多方面的危害,主要包括以下几点:

  • 用户信息泄露:攻击者可通过恶意脚本窃取用户的敏感信息,如登录凭证、账号密码、个人资料、联系方式等。这些信息一旦落入攻击者手中,可能会被用于盗刷用户账户资金、冒充用户身份进行网络诈骗、贩卖个人信息等违法活动,给用户带来严重的经济损失和隐私侵犯。
  • 网站被篡改:攻击者利用 XSS 漏洞注入恶意脚本,能够对网站页面进行篡改。他们可能会修改网站的内容,替换正常的页面元素,插入虚假广告、恶意链接或其他有害信息,影响网站的正常运营和形象,降低用户对网站的信任度,同时也可能误导用户进行一些危险操作。
  • 发起钓鱼攻击:通过 XSS 攻击,攻击者可以在目标网站上创建虚假的登录页面或其他欺骗性界面,诱使用户输入敏感信息。由于这些页面看起来与真实的网站页面非常相似,用户很难察觉其中的差异,从而容易上当受骗,进一步导致个人信息和资金的损失。
  • 传播恶意软件:恶意脚本还可以用来传播恶意软件,如病毒、木马等。当用户访问被攻击的网站时,浏览器执行恶意脚本,自动下载并安装恶意软件到用户的设备上,从而控制用户设备,窃取设备中的数据,或者利用用户设备作为跳板进一步攻击其他网络设备。
  • 实施 DDoS 攻击:攻击者可以利用 XSS 漏洞控制大量用户的浏览器,组成僵尸网络,然后向目标服务器发送大量请求,从而导致服务器瘫痪,无法正常提供服务,即分布式拒绝服务(DDoS)攻击。这种攻击不仅会影响网站的正常运行,还可能给网站所有者带来巨大的经济损失和业务影响。

XSS跨站脚本攻击漏洞评级

XSS 跨站脚本攻击漏洞评级主要分四级。严重级能让攻击者完全掌控用户浏览器,窃取关键敏感信息或冒用用户身份执行核心操作。高危级可使攻击者获取大量敏感数据,严重破坏网站核心功能。中危级可被用于篡改页面、展示误导信息等恶意行为,但影响相对有限。低危级利用条件苛刻,仅产生轻微视觉干扰或对用户体验有极小影响,基本不威胁用户数据与网站安全 。

XSS跨站脚本攻击漏洞形式

  • 反射型 XSS:也称为非持久型 XSS。攻击者构造包含恶意脚本的 URL,诱使用户点击。服务器接收请求后,将恶意脚本反射给用户浏览器执行。这种攻击通常是一次性的,脚本不会存储在服务器上(存储在url),如攻击者通过电子邮件发送包含恶意脚本的链接,用户点击后触发攻击。
  • 存储型 XSS:又称持久型 XSS。攻击者将恶意脚本存入服务器,如在论坛发帖、评论等位置输入恶意代码。当其他用户访问相关页面时,服务器会将恶意脚本发送给用户浏览器执行。这种攻击影响范围广,只要访问该页面的用户都会受到攻击。
  • DOM 型 XSS:通过修改页面的 DOM 树来注入恶意脚本。攻击者利用浏览器端脚本对 DOM 操作的漏洞,在用户浏览器本地修改页面结构,插入并执行恶意脚本,不涉及服务器端的数据处理。例如,通过修改 URL 参数导致页面 DOM 被恶意修改,进而执行脚本。

按攻击目标分类

  • 针对用户的 XSS 攻击:主要目的是窃取用户的敏感信息,如登录凭证、个人资料等,或者以用户的身份在网站上执行操作。攻击者通过注入恶意脚本,获取用户在浏览器中输入的信息,然后将这些信息发送到自己的服务器。
  • 针对网站的 XSS 攻击:旨在破坏网站的正常运行,篡改网站的内容,影响网站的声誉和可用性。例如,攻击者可能会利用 XSS 漏洞在网站页面上插入大量广告、恶意链接或破坏页面的布局,使网站无法正常展示给用户。

按攻击载体分类

  • 基于 HTML 的 XSS 攻击:攻击者利用 HTML 标签和属性的特性,注入恶意脚本。例如,通过在<img>标签的src属性中插入恶意脚本,当浏览器加载该图片时,就会执行脚本。
  • 基于 JavaScript 的 XSS 攻击:直接注入 JavaScript 代码,利用浏览器对 JavaScript 的执行机制来实现攻击。这是最常见的 XSS 攻击方式,因为 JavaScript 可以直接操作浏览器的 DOM、发送网络请求等,具有很强的攻击性。
  • 基于 CSS 的 XSS 攻击:虽然 CSS 本身不能直接执行代码,但攻击者可以利用 CSS 的一些特性,如@import规则、url()函数等,来加载恶意的 CSS 文件或执行一些间接的攻击行为,例如通过 CSS 样式改变页面的布局,误导用户进行一些操作。

按传播途径分类

  • 主动式 XSS 攻击:攻击者通过直接发送恶意链接或利用社会工程学手段,诱使用户主动访问包含恶意脚本的页面。例如,通过电子邮件、即时通讯工具等发送钓鱼链接,用户点击后就会触发攻击。
  • 被动式 XSS 攻击:攻击者将恶意脚本隐藏在正常的网站内容中,等待用户访问该网站时自动触发攻击。这种攻击方式通常利用网站的漏洞,将恶意脚本注入到网站的页面中,用户在浏览网站时不知不觉地受到攻击。

XSS跨站脚本攻击漏洞验证

portswigger靶场

1.

2.

3.

4.

<img src=1 onerror=alert(1)>

在这段代码中:
        <img>是 HTML 中的图像标签,用于在网页上显示图片。
        src是<img>标签的一个属性,它指定了要加载的图像的来源(路径或 URL)。这里src的值被设置为1,这不是一个有效的图片路径或 URL,所以浏览器会无法加载该图片,从而引发一个错误。
        onerror是<img>标签的一个事件属性,当图像加载过程中出现错误时,浏览器会触发onerror事件,然后执行onerror后面指定的 JavaScript 代码。在这里,onerror后面跟着alert(1),这是一个简单的 JavaScript 函数调用,alert函数会弹出一个警告框,显示数字1。
如果这段代码被包含在一个网页中,并且用户的浏览器尝试加载这个网页,那么当浏览器解析到这个<img>标签时,由于src属性值无效导致图像加载错误,就会触发onerror事件,进而执行alert(1),弹出警告框。

5.

6.

7.

"onmouseover="alert(1)

8.

9.

'-alert(1)-'

10.

XSS跨站脚本攻击漏洞防御措施

输入验证和过滤
  • 白名单验证:在服务器端,对用户输入的数据进行严格验证,只允许符合预定义规则的字符和内容通过。例如,对于用户的用户名输入,只允许字母、数字和特定的符号,其他字符则拒绝。
  • 过滤特殊字符:对用户输入中的特殊字符进行过滤或转义,如将< 转换为 &lt;> 转换为 &gt;,这样可以防止恶意脚本的注入。例如,在 PHP 中可以使用 htmlspecialchars 函数进行转义。
  • 验证数据类型和长度:确保用户输入的数据类型和长度符合预期。例如,对于年龄输入,验证其是否为数字且在合理范围内。
输出编码
  • HTML 实体编码:在将用户输入的数据输出到 HTML 页面时,进行 HTML 实体编码,将特殊字符转换为对应的 HTML 实体。这样可以确保即使输入中包含恶意脚本,也不会被浏览器执行。
  • JavaScript 编码:如果需要在 JavaScript 代码中输出用户输入的数据,要进行适当的编码,避免脚本注入。例如,使用 JSON.stringify 对数据进行编码。
  • CSS 编码:当将用户输入的数据用于 CSS 样式时,同样需要进行编码,防止恶意的 CSS 注入。
配置 HTTP 头信息
  • Content-Security-Policy(CSP):通过设置 CSP 头信息,限制页面可以加载的资源来源,只允许从指定的域名加载脚本、样式表和其他资源,从而防止恶意脚本的加载和执行。例如,设置 Content-Security-Policy: default-src'self'; script-src'self' trusted - domain.com 表示只允许从当前域名和 trusted - domain.com 加载脚本。
  • X-XSS-Protection:虽然现代浏览器对 XSS 攻击有一定的内置防护机制,但仍然可以通过设置 X-XSS-Protection 头信息来增强防护。例如,设置 X-XSS-Protection: 1; mode = block 可以让浏览器在检测到 XSS 攻击时阻止页面加载。
框架和库的安全使用
  • 使用安全的框架:选择具有良好安全机制的 Web 框架,这些框架通常会提供输入验证、输出编码等功能,帮助开发者避免常见的 XSS 漏洞。例如,Django、Ruby on Rails 等框架都有相应的安全防护措施。
  • 及时更新依赖库:保持框架和库的版本更新,及时修复已知的安全漏洞,避免因使用过时的库而引入安全风险。
前端验证和防护
  • 前端输入验证:在前端页面使用 JavaScript 进行输入验证,给用户提供即时的反馈,提示用户输入不符合要求。但需要注意的是,前端验证不能替代服务器端验证,因为攻击者可以绕过前端验证。
  • 使用 HttpOnly 和 Secure 属性:对于存储敏感信息的 Cookie,设置 HttpOnly 属性可以防止 JavaScript 脚本访问 Cookie,设置 Secure 属性可以确保 Cookie 只通过 HTTPS 协议传输,减少被窃取的风险。
安全意识培训
  • 开发者培训:对开发人员进行安全培训,提高他们对 XSS 攻击的认识和防范意识,使其在开发过程中遵循安全编码规范。
  • 用户教育:向用户宣传 XSS 攻击的风险,提醒用户不要随意点击不明来源的链接,避免在不可信的网站上输入敏感信息。

XSS跨站脚本攻击漏洞相关名词

  1. Blind XSS(盲打型 XSS):攻击者将恶意脚本注入到应用程序中,该脚本不会在正常的页面显示中立即执行,而是在应用程序的其他部分(通常是管理员或其他特权用户访问的后台页面)执行。由于攻击者无法直接看到攻击结果,需要采用一些特殊的技术来确认攻击是否成功,比如利用外部服务器日志记录或监控特定的网络流量。
  2. XSS Chaining(XSS 链):攻击者结合多个不同的 XSS 漏洞或者与其他类型的漏洞(如 CSRF、SQL 注入等)组合使用,以实现更复杂和严重的攻击。例如,先利用一个 XSS 漏洞获取用户的会话信息,再使用这个会话信息进行跨站请求伪造攻击。
  3. XSS Worm(XSS 蠕虫):这是一种特殊的 XSS 攻击,恶意脚本会自我复制并在不同用户之间传播。当一个用户访问包含 XSS 蠕虫的页面时,脚本会自动修改页面内容,将自身传播到其他用户可能访问的链接或页面中,从而迅速感染大量用户。
  4. Anti - XSS Library(反 XSS 库):开发人员可以使用的工具库,用于对用户输入和输出进行安全过滤和编码,防止 XSS 攻击。这些库通常提供了各种函数和方法,帮助开发者处理不同类型的数据,确保数据在使用过程中不会引发 XSS 漏洞。
  5. XSS Auditor:部分浏览器内置的一种安全机制,用于检测和阻止反射型 XSS 攻击。当浏览器检测到可能存在的 XSS 攻击时,会自动阻止脚本的执行,并对页面进行相应的处理,以保护用户的安全。
  6. XSS Payload Generator(XSS 有效载荷生成器):攻击者使用的工具,可根据不同的攻击场景和目标,自动生成合适的恶意脚本(即有效载荷)。这些工具可以帮助攻击者快速构造出能够绕过目标网站防御机制的 XSS 攻击代码。
  7. XSS Obfuscation(XSS 代码混淆):攻击者为了绕过防御机制,会对恶意脚本进行混淆处理,使其看起来不像是正常的脚本代码。例如,使用编码、加密、拆分代码等技术,让 XSS 过滤器难以识别恶意脚本。
  8. Payload(有效载荷):在 XSS 攻击中,指攻击者注入的恶意脚本或代码,用于实现特定的攻击目的,如窃取用户信息、执行非法操作等。
  9. Vector(攻击向量):指攻击者利用 XSS 漏洞进行攻击的方式或途径,例如通过 URL 参数、表单输入、HTTP 请求头字段等将恶意脚本注入到目标系统中。
  10. Sanitization(数据净化):对用户输入的数据进行处理,去除或转义其中可能包含的恶意字符和脚本,以防止 XSS 攻击。这是一种常见的防御措施,通过对输入数据进行严格的验证和过滤,确保数据的安全性。
  11. Encoding(编码):将数据转换为特定的格式,以便在传输和存储过程中避免数据被误解或篡改。在 XSS 防御中,常使用 HTML 编码、URL 编码等方式对用户输入进行处理,将特殊字符转换为安全的表示形式,防止脚本注入。
  12. CSP(Content - Security - Policy,内容安全策略):一种 HTTP 头信息,用于指定页面可以加载的资源来源,限制浏览器从非信任的源加载脚本、样式表、图片等资源,从而有效防止 XSS 攻击。通过 CSP,网站管理员可以明确允许或禁止某些来源的资源加载,增强网站的安全性。
  13. HttpOnly:是 Cookie 的一个属性,设置了 HttpOnly 的 Cookie 不能被客户端脚本(如 JavaScript)访问,只能通过 HTTP 协议由服务器进行读写操作。这可以防止攻击者通过 XSS 攻击窃取用户的 Cookie 信息,从而保护用户的登录状态和其他敏感信息。
  14. Exploit(漏洞利用):指攻击者利用 XSS 漏洞编写的代码或程序,用于触发漏洞并执行恶意操作,以达到攻击目的。
  15. Vulnerability Scanner(漏洞扫描器):一种工具,用于检测网站或应用程序中是否存在 XSS 等安全漏洞。它通过发送各种测试请求,分析响应来发现可能存在的安全隐患。
  16. XSS Filter(XSS 过滤器):用于检测和阻止 XSS 攻击的工具或机制,通常部署在服务器端或网络设备上,对用户输入和输出的数据进行检查,识别并过滤掉可能包含恶意脚本的内容。
  17. JavaScript Injection(JavaScript 注入):XSS 攻击的一种常见形式,攻击者将恶意的 JavaScript 代码注入到目标页面中,使其在用户浏览器中执行,从而实现对用户的攻击。
  18. HTML Injection(HTML 注入):攻击者尝试将恶意的 HTML 代码注入到目标页面中,可能会改变页面的结构和内容,有时也可用于触发 XSS 攻击,例如通过注入包含恶意脚本的 HTML 标签。
  19. Phishing(网络钓鱼):虽然不完全等同于 XSS,但常常与 XSS 结合使用。攻击者通过 XSS 攻击获取用户的敏感信息,如用户名、密码等,然后利用这些信息进行网络钓鱼,冒充合法用户进行各种欺诈活动。
  20. Session Hijacking(会话劫持):攻击者利用 XSS 漏洞获取用户的会话标识(如会话 ID),然后使用该标识冒充用户身份,在用户的会话中执行操作,获取用户的敏感信息或进行其他恶意行为。
  21. Canonicalization(规范化):在处理用户输入时,将数据转换为标准的、规范的形式,以防止攻击者利用不同的字符编码或特殊字符组合来绕过输入验证和过滤机制,从而避免 XSS 攻击。
  22. Polyglot Attack(多语言攻击):攻击者构造的恶意代码可以在多种不同的环境或解释器中执行,例如同时利用 HTML、JavaScript 和 CSS 等多种语言的特性来实施 XSS 攻击,增加攻击的复杂性和隐蔽性。
  23. Web Shell:攻击者通过 XSS 等漏洞上传到目标服务器的一个脚本程序,它可以为攻击者提供一个远程控制服务器的接口,使攻击者能够执行各种命令,进一步控制服务器或窃取数据。

个人疑问

反射型XSS为什么是一次性攻击?
  • 攻击触发机制:反射型 XSS 攻击依赖用户点击包含恶意脚本的特定 URL 来触发。当用户点击该 URL 后,服务器将恶意脚本作为响应的一部分反射给用户浏览器,浏览器执行脚本从而引发攻击。但这个过程仅在用户点击链接的当下发生,一旦用户关闭相关页面或进行其他操作,攻击行为就会停止,不会像存储型 XSS 那样,恶意脚本被存储在服务器端,持续对访问相关页面的用户造成威胁。
  • URL 的一次性特征:攻击所用的恶意 URL 通常是针对特定目标和场景构造的,具有一次性使用的特点。攻击者需要诱骗用户点击这个特定的 URL 才能实施攻击,而用户一旦点击过该 URL,再次点击的可能性较低,且其他用户一般不会轻易点击与自己无关的陌生 URL。所以,从攻击的触发和传播角度来看,反射型 XSS 攻击往往是一次性的,难以形成持续性的攻击效果。
攻击方向不同,使用的恶意代码分别是什么?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37895.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用ArcGIS做一张符合环评要求的植被类型图

植被类型图是环境影响评价&#xff08;环评&#xff09;中的重要图件&#xff0c;需满足数据准确性、制图规范性和信息完整性等要求。本教程将基于ArcMap平台&#xff0c;从数据准备到成果输出&#xff0c;详细讲解如何制作符合环评技术规范的植被类型图。 ArcGIS遥感解译土地…

详解string类+迭代器

迭代器 概念&#xff1a;在 C 中&#xff0c;迭代器是访问容器&#xff08;如数组、列表、向量、字符串等&#xff09;元素的一种方式。迭代器提供了一种统一的接口&#xff0c;使得你可以使用相同的代码来遍历不同类型的容器。迭代器本质上是一个指针或者指针的封装&#xff0…

Sqoop安装部署

Apache Sqoop 简介 Sqoop&#xff08;SQL-to-Hadoop&#xff09;是 Apache 开源项目&#xff0c;主要用于&#xff1a; 将关系型数据库中的数据导入 Hadoop 分布式文件系统&#xff08;HDFS&#xff09;或相关组件&#xff08;如 Hive、HBase&#xff09;。 将 Hadoop 处理后…

软件工程之软件验证计划Software Verification Plan

个人主页&#xff1a;云纳星辰怀自在 座右铭&#xff1a;“所谓坚持&#xff0c;就是觉得还有希望&#xff01;” 本文为基于ISO26262软件验证计划模板&#xff0c;仅供参考。 软件验证计划&#xff0c;包括&#xff1a; 1. 软件需求验证计划 2. 软件架构设计验证计划 3. 软件单…

Windows系统本地部署OpenManus对接Ollama调用本地AI大模型

文章目录 前言1. 环境准备1.1 安装Python1.2. 安装conda 2. 本地部署OpenManus2.1 创建一个新conda环境2.2 克隆存储库2.3 安装依赖环境 3. 安装Ollama4. 安装QwQ 32B模型5. 修改OpenManus配置文件6. 运行OpenManus7.通过网页使用OpenManus8. 安装内网穿透8.1 配置随机公网地址…

计算机网络总结

一、IP地址及子网掩码、MAC 二、DNS、ARP 三、DHCP、UDP、TCP 四、NAT、NAPT、端口、网关 五、路由器与交换机 六、OSI模型 一、IP地址及子网掩码、MAC 1.1 IP地址的作用 用来全局网络通信&#xff08;门牌号&#xff09;用来区分相同网络之间的主机 1.2 子网掩码的作用 …

MySQL0基础学习记录-下载与安装

下载 下载地址&#xff1a; &#xff08;Windows&#xff09;https://dev.mysql.com/downloads/file/?id536787 安装 直接点next&#xff0c;出现&#xff1a; 点execute 然后一直next到这页&#xff1a; next 然后需要给root设置一个密码&#xff1a; 在next。。很多页…

React基础语法速览

一、项目创建 npm create vite 这里选择react即可&#xff0c;如图&#xff1a; 二、基本文件说明 react函数式编程时&#xff0c;用的是JSX语法进行开发的&#xff0c;这里注意&#xff0c;return时只能有一个根标签&#xff1b; 三、React核心语法 1.插值功能 插值可以使用…

IT工具 | node.js 进程管理工具 PM2 大升级!支持 Bun.js

P(rocess)M(anager)2 是一个 node.js 下的进程管理器&#xff0c;内置负载均衡&#xff0c;支持应用自动重启&#xff0c;常用于生产环境运行 node.js 应用&#xff0c;非常好用&#x1f44d; &#x1f33c;概述 2025-03-15日&#xff0c;PM2发布最新版本v6.0.5&#xff0c;这…

teaming技术

一.介绍 在CentOS 6与RHEL 6系统中&#xff0c;双网卡绑定采用的是bonding技术。到了CentOS 7&#xff0c;不仅能继续沿用bonding&#xff0c;还新增了teaming技术。在此推荐使用teaming&#xff0c;因其在查看与监控方面更为便捷 。 二.原理 这里介绍两种最常见的双网卡绑定…

SpringSecurity配置(自定义认证过滤器)

文末有本篇文章的项目源码文件可供下载学习 在这个案例中,我们已经实现了自定义登录URI的操作,登录成功之后,我们再次访问后端中的API的时候要在请求头中携带token,此时的token是jwt字符串,我们需要将该jwt字符串进行解析,查看解析后的User对象是否处于登录状态.登录状态下,将…

【机器学习-模型评估】

“评估”已建立的模型 在进行回归和分类时&#xff0c;为了进行预测&#xff0c;定义了预测函数fθ(x) 然后根据训练数据求出了预测函数的参数θ(即对目标函数进行微分&#xff0c;然后求出参数更新表达式的操作) 之前求出参数更新表达式之后就结束了。但是&#xff0c;其实我…

区块链开发技术公司:引领数字经济的创新力量

在数字化浪潮席卷全球的今天&#xff0c;区块链技术作为新兴技术的代表&#xff0c;正以其独特的去中心化、不可篡改和透明性等特点&#xff0c;深刻改变着各行各业的发展格局。区块链开发技术公司&#xff0c;作为这一领域的先锋和推动者&#xff0c;正不断研发创新&#xff0…

油候插件、idea、VsCode插件推荐(自用)

开发软件&#xff1a; 之前的文章&#xff1a; 开发必装最实用工具软件与网站 推荐一下我使用的开发工具 目前在用的 油候插件 AC-baidu-重定向优化百度搜狗谷歌必应搜索_favicon_双列 让查询变成多列&#xff0c;而且可以流式翻页 Github 增强 - 高速下载 github下载 TimerHo…

Linux中find 命令的高级用法 组合条件 与、或、非(-a、-o、!) 以及通过 -regex 和 -iregex 选项使用正则表达式

find 命令详解 find 是 Unix 和类 Unix 操作系统&#xff08;如 Linux 和 macOS&#xff09;中一个非常强大的命令行工具&#xff0c;用于在文件系统中搜索文件和目录。find 命令可以根据多种条件&#xff08;如文件名、类型、大小、修改时间等&#xff09;进行搜索&#xff0c…

基于Python的垃圾短信分类

垃圾短信分类 1 垃圾短信分类问题介绍 1.1 垃圾短信 随着移动互联科技的高速发展&#xff0c;信息技术在不断改变着我们的生活&#xff0c;让我们的生活更方便&#xff0c;其中移动通信技术己经在我们生活起到至关重要的作用&#xff0c;与我们每个人人息息相关。短信作为移…

go语言中空结构体

空结构体(struct{}) 普通理解 在结构体中&#xff0c;可以包裹一系列与对象相关的属性&#xff0c;但若该对象没有属性呢&#xff1f;那它就是一个空结构体。 空结构体&#xff0c;和正常的结构体一样&#xff0c;可以接收方法函数。 type Lamp struct{}func (l Lamp) On()…

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测 目录 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预…

大数据学习(80)-数仓分层

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…

flink 写入es的依赖导入问题(踩坑记录)

flink 写入es的依赖导入问题(踩坑记录) ps&#xff1a;可能只是flink低版本才会有这个问题 1. 按照官网的导入方式&#xff1a; 2. 你会在运行sql-client的时候完美得到一个错误&#xff1a; Exception in thread "main" org.apache.flink.table.client.SqlClientEx…