当前位置: 首页 > news >正文

从零学网络安全 - Web 技术核心与安全风险(二)

一、Web 前端三剑客(HTML/CSS/JS)

1. HTML

HTML(hyper text markup language)译为超文本标记语言,通过带有尖角号的标签对文本进行标记,从而实现网页的结构。

HTML 基本语法:通常有两种

  • <标签名 属性名="属性值" 属性名="属性值"> </标签名>
  • <标签名 属性名="属性值" />

HTML 入门级常用标签

  • <h1>:语义化标题,由 h1 至 h6。
  • <form>:表单容器,⽤于收集⽤户输⼊并封装为 HTTP 请求。
    • method="post" 比 get 方式更安全,post 将数据藏在请求体内,get 传参能直接在 url 看到参数值。
  • <input> :输⼊控件,功能由 type 决定。
  • id="username":唯⼀标识,JS 找元素、CSS 美化、锚点跳转全靠它。
  • <a>:超链接,由核⼼属性 href 来定义跳转目标。
  • <img> :图⽚标签,是个单标签,无需结束标签 </img>。

2. CSS

CSS (Cascading Style Sheets)负责网页的视觉呈现,包括颜色、大小、位置、视觉效果等等。

CSS基本语法

如果单独使用CSS文件:

选择器 {属性1: 值1;属性2: 值2;/* 注意:一行声明结束必须加分号,最后一行可省略但建议加上 */
}

示例:

/* 示例1:为所有<p>标签设置样式 */
p {color: red;        /* 文字颜色为红色 */font-size: 16px;   /* 字体大小16像素 */line-height: 1.5;  /* 行高1.5倍 */
}/* 示例2:为class="box"的元素设置样式 */
.box {width: 200px;      /* 宽度200像素 */height: 100px;     /* 高度100像素 */background: #eee;  /* 背景色浅灰色 */
}/* 示例3:为id="title"的元素设置样式 */
#title {font-weight: bold; /* 文字加粗 */text-align: center;/* 文字居中 */
}

如果直接在 html 的 <head> 标签内使用,可以用<style> </style>标签:

<head><meta charset="UTF-8"><title>内部样式表示例</title><!-- style标签写在head内,内部是完整的 CSS 代码 --><style>/* 这里写 CSS,语法和外部 CSS 文件完全一致 */p {color: green;font-size: 17px;line-height: 1.6;}.container {width: 500px;margin: 20px auto;padding: 15px;border: 1px solid #ddd;}#title {font-weight: bold;text-align: center;}</style>
</head>

CSS 简单美化示例:

美化前:

image

美化后:

image

3. JavaScript

JS 为网页赋予动态交互能力(如响应用户点击、输入等操作),实现页面动态效果与数据交互。

JavaScrip 常见事件

  1. 鼠标事件:
  • click:单击元素
  • dblclick:双击元素
  • mouseover/mouseout:鼠标进入 / 离开
  1. 键盘事件:
  • keydown/keyup:按键按下 / 松开
  1. 表单事件:
  • submit:表单提交
  • change:值改变且失焦
  1. 窗口事件:
  • load:页面加载完成
  • resize:窗口大小改变

二、Web 前端安全风险与防御

1. XSS 漏洞

XSS 攻击的核心成因是Web 应用程序对用户输入的数据未进行严格过滤或转义,导致攻击者能够将恶意脚本(如 JavaScript、HTML 等)注入到网页中,并被浏览器执行。

xss 攻击演示

有这么一个页面,地址为

image

右键检查源码,可以看到 test 被直接插⼊到了 <h2> 标签中间

image

我们修改url,把 'name=test' 改成 'name=<script>alert(1)</script>'

image

即可顺利完成跳转

image

2. XSS防御手段

输出转义:让代码变普通文本

例如,用户输入 <script>alert('hack')</script> 后,服务器自动将危险字符 '<' 和 '>' 转义,变成 &lt;script&gt;alert('hack')&lt;/script&gt; ,浏览器就会显示没有找到和<>相关结果。

http://www.jsqmd.com/news/327479/

相关文章:

  • Java毕设项目:基于springboot+bs架构的招投标管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 知网AIGC检测不通过怎么办?用这个方法10分钟降到10%
  • 2026年知网AIGC检测不通过怎么办?这3款降AI工具帮你搞定
  • Scaling Laws【Kaplan-2020】-08:Kaplan论文中7B模型的Loss拐点是21.5B/96.5B,为什么现在大模型的训练数据量是T级别⮕Chinchilla【2022】
  • Java计算机毕设之springboot基于elasticsearch的高校科研信息管理系统基于SpringBoot的高校科研信息管理系统设计(完整前后端代码+说明文档+LW,调试定制等)
  • 使用Nacos实现动态IP黑名单过滤
  • Java计算机毕设之基于springboot+bs架构的服务采购招投标管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 2026年免费降AI率工具哪个好?实测5款后只推荐这3个
  • 3款降AI工具实测对比:比话、嘎嘎、率零哪个效果好
  • 程序员的职业生涯规划:适应与转型
  • 【计算机毕业设计案例】基于java的网上招标系统设计与实现基于springboot+bs架构的招投标管理系统的设计与实现(程序+文档+讲解+定制)
  • 2026年毕业论文降AI工具推荐:学长亲测这4款通过率最高
  • 【毕业设计】基于springboot+bs架构的招投标管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 为什么DeepSeek+豆包+Kimi降AI效果差?问题出在这3点
  • 排查流程啊啊啊
  • 基于YOLOv8的停车场空车位目标检测项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
  • 【计算机毕业设计案例】基于Java的高校科研工作管理信息管理系统springboot基于elasticsearch的高校科研信息管理系统(程序+文档+讲解+定制)
  • 游戏文件打不开?DLL文件缺失?电脑崩溃?DirectX 轻松修复!游戏运行库修复文件缺失软件必备安装工具,轻松解决!
  • 2026写小说用什么软件?国内外靠谱的7款AI写作工具深度测评(附新手教程)
  • 2025企业元宇宙混合办公战略:AI应用架构师设计的虚拟协作空间技术架构
  • Java计算机毕设之基于Spring Boot的宿舍管理系统基于springboot的高校学生宿舍管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目推荐-基于SpringBoot+Vue的高校学生宿舍管理系统基于springboot的高校学生宿舍管理系统【附源码+文档,调试定制服务】
  • 【计算机毕业设计案例】基于springboot的高校学生宿舍宿舍管理、楼宇信息、宿舍信息、宿舍安排、缺勤信息管理系统(程序+文档+讲解+定制)
  • Golang 并发安全 Map 设计与实现详解
  • P1616 疯狂的采药
  • 【毕业设计】springboot基于elasticsearch的高校科研信息管理系统(源码+文档+远程调试,全bao定制等)
  • 使用无人机图像和谷歌地图匹配定位缺点是什么? - MKT
  • 计算机Java毕设实战-基于springboot的高校宿舍管理、企业宿舍管理高校学生宿舍管理系统宿舍分配管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Coze(扣子)Agent 插件
  • Java算术与移位操作符实战指南