Java 网络安全

2023-10-31

1 常见的 Web 攻击

1.1 CSRF攻击

CSRF:Cross Site Request Forgery(跨站点请求伪造)。利用信任用户已经获取的注册凭证,绕过后台用户验证,向被攻击网站发送未被用户授权的跨站请求以对被攻击网站执行某项操作的一种恶意攻击方式。

CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。

1.1.1 CSRF如何防护

  • 安全框架:例如Spring Security(csrf-token 机制)。
  • 验证码校验:敏感操作添加验证码,涉及金钱交易的可以采用此方法。
  • referer字段识别:在HTTP Header中有一个字段Referer,它记录了HTTP请求的来源地址。如果Referer是其他网站,就有可能是CSRF攻击,则拒绝该请求。
  • sign签名机制:用不可逆转的加密算法加密参数,服务器端用同样的方法加密,对比sign是否一样。有效防止内容篡改。

1.2 XSS 攻击

XSS 即(Cross Site Scripting)中文名称为:跨站脚本攻击。XSS的重点不在于跨站点,而在于脚本的执行。
恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。而由于直接在用户的终端执行,恶意代码能够直接获取用户的信息,或者利用这些信息冒充用户向网站发起攻击者定义的请求。

1.2.1 XSS 攻击分类

  • 反射型Xss:反射性xss一般指攻击者通过特定的方式来诱惑受害者去访问一个包含恶意代码的URL。当受害者点击恶意链接url的时候,恶意代码会直接在受害者的主机上的浏览器执行。
  • 存储型Xss:主要是将恶意代码上传或存储到服务器中,下次只要受害者浏览包含此恶意代码的页面就会执行恶意代码。
  • DOM Xss:我们客户端的js可以对页面dom节点进行动态的操作,比如插入、修改页面的内容。比如说客户端从URL中提取数据并且在本地执行、如果用户在客户端输入的数据包含了恶意的js脚本的话,但是这些脚本又没有做任何过滤处理的话,那么我们的应用程序就有可能受到DOM-based Xss的攻击。

1.2.2 XSS 防护

  • 输入过滤:<script 、<img、<a 等标签进行过滤。
  • 纯前端渲染:静态 HTML,Ajax 加载业务数据,调用 DOM API 更新到页面上。
  • 转义HTML:把 & < > " ’ / 这几个字符转义掉。转义库为 org.owasp.encoder。
  • 内容长度控制:数字、URL、电话号码、邮件地址等内容控制长度。
  • Cookie的安全设置:禁止 JavaScript 读取某些敏感 Cookie。
  • 安全验证:关键业务,如支付需要验证码验证。
  • 开启CSP(Content Security Policy)网页安全政策:控制哪些域名下的静态资源可以被页面加载,哪些不能被加载。
  • 避免内联事件:尽量不要使用 onLoad=“onload(‘{{data}}’)”、onClick=“go(‘{{action}}’)” 这种拼接内联事件的写法。在 JavaScript 中通过 .addEventlistener() 事件绑定会更安全。

1.3 DOS 攻击

通过各种手段消耗网络带宽和系统资源,或者攻击系统缺陷,使正常系统的正常服务陷于瘫痪状态,不能对正常用户进行服务,从而实现拒绝正常的用户访问服务。

1.3.1 防护

利用DDoS防御产品的检测技术和清洗技术,检测技术就是检测网站是否正在遭受DDoS攻击,而清洗技术就是清洗掉异常流量。例如:
H3C IPS(Intrusion Prevention System)防护:检查经过的进出流量中每个比特并过滤掉不想要的流量,在线保护与之连接的网络和主机。

1.4 SQL 注入

击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。

1.4.1 SQL 注入防护

  • 使用预编译语句(PreparedStatement)
  • 对进入数据库的特殊字符(’"尖括号&*;等)进行转义处理,或编码转换。
  • 使用Mybatis框架时,使用#{},防止sql注入

2 越权访问漏洞防护

越权访问(BrokenAccessControl,简称BAC)是Web应用程序中一种常见的漏洞,分为垂直越权访问和水平越权访问。

  • 垂直越权:是指不同用户级别之间的越权,如普通用户执行管理员用户的权限。
  • 水平越权:是指相同级别用户之间的越权操作。

2.1 权限校验

配置FILTER拦截器,对请求所有URL进行拦截,对于需要进行授权的URL进行权限校验,防止用户越权访问系统资源。

  • 登录验证
  • 菜单(功能)权限验证
  • 授权节点(数据范围)权限验证
  • 操作类型(完全控制,可编辑,可删除,只读)权限验证

3 文件上传攻击

前台仅使用JS对文件后缀做了过滤,这只能针对普通的用户,而恶意攻击者完全可以修改表单去掉JS校验。
项目中涉及上传下载未对文件大小以及类型进行验证,可能导致不良用户上传有害文件,危害服务器。

3.1 文件上传攻击解决方案

文件上传时在前台对文件后缀名进行验证,为避免通过特殊手段绕过了前端验证,在文件保存时再进行一次验证,即前后台同时验证的道理。

  • 文件格式
  • 文件大小
  • 用户上传频率/用户每日上传个数限制

4 敏感信息泄露

  • URL中包含敏感信息,暴露到地址栏中。
  • 用户账号,手机号明文返回。

4.1 敏感信息防护

  • 地址栏中不暴露敏感参数信息,通过local storage 或者 session storage存储和传递。
  • api 接口返回,或者ajax请求,敏感数据经过加密算法进行加密,服务器端解码。

4.2 加密算法

不可逆算法

  1. MD5算法:MD5算法是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,MD5是以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成—个128位散列值。通常用于用户密码加密。
  2. SHA算法:SHA算法是一种消息摘要算法,SHA1主要适用于数字签名标准里面定义的数字签名算法。

非对称加密算法
3. RSA算法:RSA算法是一种使用不同的加密密钥与解密密钥,是由已知加密密钥推导出解密密钥在计算上是不可行的密码体制,其原理是根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA是目前最有影响力和最常用的公钥加密算法。
4. ECC算法:ECC算法是一种椭圆加密算法,可以通过较短的密钥达到相同的安全程度,常用于用于加解密、签名验签,也可以与DH结合使用,用于密钥磋商。
5. DSA算法:DSA算法是一种数字签名算法,是一种公开密钥算法,其不能用作加密,只用作数字签名,DSA算法使用公开密钥,可以为接受者验证数据的完整性和数据发送者的身份。

对称加密算法
6. DES算法:DES算法是一种对称密码体制加密算法,为密码体制中的对称密码体制,其 明文按64位进行分组,密钥长64位,密钥是以56位参与DES运算,且第8、16、24、32、40、48、56、64位是校验位,分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
7. DH算法:DH算法是一种密钥交换算法,可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥,且密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
8. AES:这个标准用来替代原先的DES。

更多资料参考:https://www.jb51.net/article/214770.htm

5. 登录验证

由于http 协议是无状态的协议,那就意味着当有用户向系统使用账户名称和密码进行用户认证之后,下一次请求还要再一次用户认证才行。因为我们不能通过 http 协议知道是哪个用户发出的请求,所以如果要知道是哪个用户发出的请求,那就需要在服务器保存一份用户信息,然后在认证成功后返回 cookie 值传递给浏览器,那么用户在下一次请求时就可以带上 cookie 值,服务器就可以识别是哪个用户发送的请求,是否已认证,是否登录过期等等。

5.1 session认证

  • 用户信息保存至 session。
  • 在分布式部署应用中,会出现session不能共享的问题,很难扩展。

5.2 token认证

  • 用户信息保存至 分布式 redis 中。
  • 分布式部署应用共享redis,易于扩展。
  • 占用redis空间,且每次请求都要查一下redis, 增加redis压力。

认证过程
在这里插入图片描述

5.3 JWT认证

JWT (全称:Json Web Token)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。

5.3.1 JWT认证流程

  1. 用户使用账号、密码登录应用,登录的请求发送到 Authentication Server。
  2. Authentication Server 进行用户验证,然后创建 JWT 字符串返回给客户端。
  3. 客户端请求接口时,在请求头带上 JWT。
  4. Application Server 验证 JWT 合法性,如果合法则继续调用应用接口返回结果。

可以看出与token方式有一些不同的地方,就是不需要依赖 redis,用户信息存储在客户端。所以关键在于生成 JWT 和解析 JWT 这两个地方。

5.3.2 JWT的数据结构

  • JWT 一般是这样一个字符串,分为Header、Payload、Signature三个部分,以 “.” 隔开:xxxxx.yyyyy.zzzzz

Header

  • JWT 第一部分是头部分,它是一个描述 JWT 元数据的 Json 对象,通常如下所示。
{
    "alg": "HS256",
    "typ": "JWT"
}

alg 属性表示签名使用的算法,默认为 HMAC SHA256(写为HS256),typ 属性表示令牌的类型,JWT 令牌统一写为JWT。

最后,使用 Base64 URL 算法将上述 JSON 对象转换为字符串保存。

Payload

  • JWT 第二部分是 Payload,也是一个 Json 对象,除了包含需要传递的数据,还有七个默认的字段供选择。

    1. iss (issuer):签发人/发行人
    2. sub (subject):主题
    3. aud (audience):用户
    4. exp (expiration time):过期时间
    5. nbf (Not Before):生效时间,在此之前是无效的
    6. iat (Issued At):签发时间
    7. jti (JWT ID):用于标识该 JWT

需要注意的是,默认情况下 JWT 是未加密的,任何人都可以解读其内容,因此一些敏感信息不要存放于此,以防信息泄露。

Signature

  • JWT 第三部分是签名。

5.3.3 JWT校验方式

  1. 首先需要指定一个 secret,该 secret 仅仅保存在服务器中,保证不能让其他用户知道。这个部分需要 base64URL 加密后的 header 和 base64URL 加密后的 payload 使用 . 连接组成的字符串。
  2. 然后通过header 中声明的加密算法 进行加盐secret组合加密,然后就得出一个签名哈希,也就是Signature,且无法反向解密。
  3. 利用 JWT 前两段,用同一套哈希算法和同一个 secret 计算一个签名值,然后把计算出来的签名值和收到的 JWT 第三段比较,如果相同则认证通过。

5.3.4 JWT认证缺陷

  1. 安全性没法保证,所以 jwt 里不能存储敏感数据。因为 jwt 的 payload 并没有加密,只是用 Base64 编码而已。
  2. 无法中途废弃。因为一旦签发了一个 jwt,在到期之前始终都是有效的,如果用户信息发生更新了,只能等旧的 jwt 过期后重新签发新的 jwt。
  3. 续签问题。当签发的 jwt 保存在客户端,客户端一直在操作页面,按道理应该一直为客户端续长有效时间,否则当 jwt有效期到了就会导致用户需要重新登录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 网络安全 的相关文章

  • IT圈大实话!卷运维不如卷网络安全

    前言 在刚刚过去的金九银十 我进行了多场网络安全的技术面试 我发现最近很多从事运维的选择了辞职 转行到了网络安全这个发展路线 说实话 运维工程师这个岗位在IT行业里面确实是处于最底层的 不管什么环节出现问题 基本都是运维背锅 薪资水平也比不
  • 一个网工(网络工程师)七年的职业血泪史....

    前言 一个工作了七年的老网工 上家公司待了五年 现在这家公司也快三年了 分享一些我自己学习网络安全路上的一些经历 也算是帮大家少走些弯路 一 如何学习网络安全 1 不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全 一般
  • 适用于任何公司的网络安全架构

    1 第一等级 基础级 优势 可防范基本有针对性的攻击 使攻击者难以在网络上推进 将生产环境与企业环境进行基本隔离 劣势 默认的企业网络应被视为潜在受损 普通员工的工作站以及管理员的工作站可能受到潜在威胁 因为它们在生产网络中具有基本和管理员
  • The Planets:Venus

    靶场下载 The Planets Venus VulnHub 信息收集 arp scan l Interface eth0 type EN10MB MAC 00 0c 29 43 7c b1 IPv4 192 168 1 60 Starti
  • SpiderFlow爬虫平台 前台RCE漏洞复现(CVE-2024-0195)

    0x01 产品简介 SpiderFlow是新一代爬虫平台 以图形化方式定义爬虫流程 以流程图的方式定义爬虫 不写代码即可完成爬虫 是一个高度灵活可配置的爬虫平台 0x02 漏洞概述 SpiderFlow爬虫平台src main java o
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • 信号浪涌保护器的原理和行业应用方案

    信号浪涌保护器 Surge Protective Device 简称SPD 是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置 主要用于保护各类信号线路及设备的防雷安全 信号浪涌保护器的原理是利用气体放电管 压敏电阻 齐纳二极管等非
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群 很多朋友们接触安全都是通过书籍 网上流传的PDF 亦或是通过论坛里的文章 但可能经过了这样一段时间的学习 了解了一些常见漏洞的原理之后 对于漏洞挖掘还不是很清楚 甚至不明白如何下手 可能你通过 sql labs 初步掌握了sq
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 为什么我强烈推荐大学生打CTF!

    前言 写这个文章是因为我很多粉丝都是学生 经常有人问 感觉大一第一个学期忙忙碌碌的过去了 啥都会一点 但是自己很难系统的学习到整个知识体系 很迷茫 想知道要如何高效学习 这篇文章我主要就围绕两点 减少那些罗里吧嗦的废话 直接上干货 CTF如
  • 【无标题】

    大家都知道该赛项的规程和样题向来都是模棱两可 从来不说具体的内容 导致选手在备赛时没有头绪 不知道该怎么训练 到了赛时发现题目和备赛的时候完全不一样 那么本文将以往年信息安全管理与评估赛项经验来解读今年2023年国赛的规程 帮助选手们指明方
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号
  • 【方法】如何把Excel“只读方式”变成可直接编辑?

    Excel在 只读方式 下 编辑后是无法直接保存原文件的 那如何可以直接编辑原文件呢 下面来一起看看看吧 如果Excel设置的是无密码的 只读方式 那在打开Excel后 会出现对话框 提示 是否以只读方式打开 如果想直接编辑文件 选择 否
  • 【安全】网络安全态势感知

    文章目录 一 态势感知简介 1 概念 2 形象举例 3 应具备的能力 二 为什么要态势感知 为什么网络安全态势感知很重要 三 态势感知系统的功能 四 如何评估态势感知的建设结果 五 什么是态势感知的三个层级 四 业界的态势感知产品 1 安全

随机推荐

  • 集合nim(C++)

    题目 给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S 现在有两位玩家轮流操作 每次操作可以从任意一堆石子中拿取石子 每次拿取的石子数量必须包含于集合 S 最后无法进行操作的人视为失败 问如果两人都采用最优策略 先手是否必胜
  • RFID标签打印机在加工制造业中的应用

    1 行业背景 在物联网家电制造 机械制造 电子元器件 电器等产品加工制造行业中 通常都需要打印标签直接贴到产品上 如 铭牌标签 条码序列号标签 合格证标签 电路图标签 RFID标签等等 传统的部分企业的这些标签是印刷后粘贴到产品上 但是随着
  • 从小白到专家的五个阶段,你处在哪里?

    专家和新手的区别在哪里 每一个程序员都有一个梦想 成为领域内的专家 专家和新手有什么不同 1970年代左右 德雷福斯兄弟通过对飞行员 国际著名象棋大师的技能习得进行研究 他们发现专家和新手在技能调用上有很大的不同 并提出了德雷福斯模型 Dr
  • OpenStack中glance对接swift

    OpenStack中glance对接swift 一 环境介绍 二 查看数据库中glance相关信息 1 查询数据库glance用户密码 2 登录数据库 3 查询glance相关数据库 4 查询glance数据库表 5 查询image loc
  • HikariCP MBean (JMX) Monitoring and Management

    The JMX MBean for HikariCP exposes Idle Connection count Active Connections in use Total Connections The number of threa
  • 本地下载的软件包制作成本地repo源并使用apache发布

    背景 在前面的博客中 介绍了如何使用apt mirror同步远程的repo源 本文将介绍如何利用本地已经缓存的软件包制作成本地repo源 并对外提供源服务 应用目标 在应用中 有时候会遇到类似问题 远程的软件源太慢 而如果同步远程的软件源到
  • 国标GB28181协议视频平台EasyGBS内网访问正常,公网无法访问是什么原因?

    国标视频云服务平台EasyGBS可支持通过国标GB28181协议 接入多路视频源设备 实现视频流的接入 转码 处理与分发等功能 对外输出的视频流格式包括RTSP RTMP FLV HLS WebRTC等 平台视频能力丰富灵活 包括监控直播
  • XML中PCDATA与CDATA的区别

    XML中PCDATA与CDATA的区别 2011 02 10 19 27 25 分类 XML 标签 xml中pcdata与cdata的区别 字号 大中小 订阅 所有 XML 文档中的文本均会被解析器解析 只有 CDATA 区段 CDATA
  • C语言自定义类型详解(结构体 枚举 联合)

    目录 1 结构体类型 1 1声明 1 2结构的自引用 1 3结构体变量的定义和初始化 1 4结构体内存对齐 1 4 1结构体的对齐规则 1 4 2编译器的默认对齐数修改 1 5结构体传参 1 6结构体实现位段 位段的填充 可移植性 1 6
  • unity的asmdef报错GUID(这个报错记得重现一下,报错信息作为标题记录一下)

    这应该是unity给这个程序集分配的guid unity基于2020开发的科骏插件1 0 8 放到了2017 首先出现的这个报错 解决方法是将这个asmdef删除 asmdef简单来说是 库的描述信息文件 相关参考 初步理解Unity的as
  • SPI协议代码

    软件模拟SPI程序代码 文章目录 SPI协议简介 SPI接口介绍 SPI数据传输方向 SPI传输模式 通过两个单片机模拟SPI来加深理解 硬件连接方式 SPI模式 程序思路 主机C代码 波形 从机C代码 波形 概述 通过两个MCU STM3
  • Mybatis系列七:映射文件-自定义结果集

    一 案例1
  • 使用Clion进行Qt项目开发

    使用Clion进行Qt项目开发 创建项目并指定Qt CMake prefix path为Qt安装路径下的E Qt Qt5 9 1 5 9 1 mingw53 32 配置编译工具链 添加外部工具 找到Setting gt Tool gt Ex
  • 使用hexo和git实现多地更新和配置博客源文件

    使用hexo写博客的一个问题就是源文件都是在本地的 如果换了电脑需要更新博客时就会比较麻烦 目前 觉得比较靠谱的办法就是用github来管理了 主要的思路是 利用git分支实现 hexo生成的静态博客文件默认放在master分支上 hexo
  • 面向对象程序设计的基本概念

    原文链接 面向对象设计 类和对象 1 面向对象程序设计的基本概念 Java是一种面向对象的编程语言 面向对象编程 英文是Object Oriented Programming 简称OOP 那什么是面向对象编程 面向对象其实是现实世界模型的自
  • 计算机图形学【GAMES-101】1、矩阵变换原理Transform(旋转、位移、缩放、正交投影、透视投影)

    快速跳转 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMap 环境光遮
  • 【从零开始学爬虫】采集京东商品信息

    l 采集网站 场景描述 采集京东电视分类中的所有商品信息 使用工具 前嗅ForeSpider数据采集系统 免费版本下载链接 http www forenose com view forespider view download html 入
  • vlc控制台命令总结

    本机摄像头和麦克风 dshow vdev USB Camera dshow adev 麦克风 USB Microphone 播放本机摄像头 vlc dshow dshow vdev USB Camera dshow adev 麦克风 USB
  • 2023毕业设计-(java)音乐网站播放器+音乐网站管理系统+音乐网站后台(附下载链接)

    音乐网站播放器 点我下载源码和sql文件 介绍 音乐网站播放器 音乐网站管理系统 音乐网站后台 源码 数据库文件 软件架构 使用vue springboot mybatis plus mysql技术的前后端分离项目 前端 安装教程 需要有n
  • Java 网络安全

    1 常见的 Web 攻击 1 1 CSRF攻击 1 1 1 CSRF如何防护 1 2 XSS 攻击 1 2 1 XSS 攻击分类 1 2 2 XSS 防护 1 3 DOS 攻击 1 3 1 防护 1 4 SQL 注入 1 4 1 SQL 注