【Go Web安全防御手册】:彻底杜绝SQL注入与XSS攻击的7种方法

Golang Web开发中的XSS攻击原理与防御实战指南 跨站脚本攻击是Web安全领域的核心威胁之一,其本质是攻击者将恶意脚本注入到受信任的网页中,当用户浏览时触发执行。理解其注入原理是构建有效防御的基石,攻击可导致会话劫持、数据窃取与页面篡改等严重后果。在工程实践中,防御XSS需构建从输入到输出的完整安全链条,这包括严格的白名单输入验证、上下文相关的输出编码以及内容安全策略等深度防御措施。对于Golang开发者而言,正确使用标准库的html/template进行自动转义、谨慎处理template.HTML类型,并集成如Bluemonday等净化库处理富文本,是保 阅读详情

第一章:Go Web安全编程的核心挑战

在构建现代Web应用时,Go语言凭借其高性能、简洁的语法和强大的标准库,成为后端开发的热门选择。然而,随着系统复杂度上升,安全问题日益凸显,开发者必须直面一系列核心挑战。

输入验证与数据净化

用户输入是攻击的主要入口,如SQL注入、XSS等。Go中应始终对请求参数进行严格校验:
// 示例:使用正则表达式过滤恶意输入
func sanitizeInput(input string) string {
    // 移除潜在危险字符
    re := regexp.MustCompile(`[<>&"']`)
    return re.ReplaceAllString(input, "")
}
建议结合第三方库如validator进行结构体级别的字段验证。

常见安全威胁类型

  • Cross-Site Scripting (XSS):未过滤的输出导致脚本注入
  • CSRF:跨站请求伪造,利用用户身份执行非授权操作
  • 不安全的身份认证:弱密码策略或会话管理缺陷
  • 敏感信息泄露:调试信息暴露路径或版本号

HTTP安全头配置

合理设置响应头可显著提升防护能力。以下为推荐配置:
HeaderValue说明
X-Content-Type-Optionsnosniff防止MIME类型嗅探
X-Frame-OptionsDENY禁止页面嵌套
Strict-Transport-Securitymax-age=31536000; includeSubDomains强制HTTPS传输
graph TD A[用户请求] --> B{输入验证} B --> C[数据净化] C --> D[路由处理] D --> E[权限检查] E --> F[响应生成] F --> G[安全头注入] G --> H[返回客户端]

第二章:SQL注入攻击的深度剖析与防御

2.1 SQL注入原理与常见攻击手法解析

SQL注入是一种利用Web应用对用户输入数据校验不严,将恶意SQL代码嵌入查询语句中执行的攻击方式。其核心原理是通过在输入字段中插入特殊构造的SQL片段,改变原有SQL逻辑。
攻击原理示例
假设登录验证SQL语句如下:
SELECT * FROM users WHERE username = '$username' AND password = '$password';
若未对输入过滤,攻击者输入用户名 ' OR '1'='1,则实际执行为:
SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '';
由于 '1'='1' 恒真,可能导致无需密码即可登录。
常见攻击类型
  • 基于布尔的盲注:通过页面返回差异判断SQL执行结果
  • 基于时间的盲注:利用延时函数探测数据库结构
  • 联合查询注入:使用UNION合并查询获取额外数据
攻击手法利用方式典型Payload
绕过认证修改WHERE条件恒真' OR 1=1--
数据窃取UNION SELECT联合查询' UNION SELECT username, pwd FROM users--

2.2 使用预处理语句防止参数化查询漏洞

在构建数据库驱动的应用时,SQL注入是常见且危险的安全隐患。通过拼接用户输入构造SQL语句极易被恶意利用,而预处理语句(Prepared Statements)能有效隔离代码与数据,从根本上防范此类攻击。
预处理语句的工作机制
预处理语句先将SQL模板发送至数据库服务器进行解析和编译,再将用户输入作为纯数据传入。数据库会严格按照参数类型处理输入,避免其被解释为SQL代码。
stmt, err := db.Prepare("SELECT id, name FROM users WHERE age > ?")
if err != nil {
    log.Fatal(err)
}
rows, err := stmt.Query(18) // 参数作为数据传入
上述Go代码中,? 是占位符,实际值 18 不参与SQL拼接,仅作为参数传递,确保安全性。
主流语言的支持
几乎所有现代编程语言都支持预处理语句:
  • Java 中使用 PreparedStatement
  • Python 的 sqlite3 或 MySQLdb 模块支持参数化查询
  • PHP 中通过 PDO::prepare() 实现

2.3 ORM框架在SQL安全中的实践应用

ORM(对象关系映射)框架通过将数据库操作抽象为面向对象的语法,有效减少手写SQL带来的注入风险。其核心机制在于使用参数化查询和预编译语句,自动转义用户输入。
常见ORM的安全特性
  • 自动参数绑定,防止恶意SQL拼接
  • 支持白名单字段映射,限制非法字段访问
  • 提供查询构建器,避免原生SQL硬编码
以Django ORM为例的代码实现

from django.contrib.auth.models import User

# 安全的查询方式,自动参数化
user = User.objects.filter(username=request.GET['username']).first()
该代码中,Django ORM将username字段作为参数传递给底层数据库驱动,确保即使输入包含' OR '1'='1等恶意内容,也不会改变SQL逻辑结构,从根本上防御SQL注入攻击。

2.4 输入验证与上下文感知的防御策略

在构建安全的Web应用时,输入验证是抵御注入攻击的第一道防线。单纯的白名单校验已不足以应对复杂场景,需结合上下文感知机制进行深度防御。
上下文感知的验证逻辑
根据数据使用场景(如HTML输出、SQL查询、URL跳转)动态选择验证规则,确保输入在特定上下文中安全。

function sanitizeInput(data, context) {
  switch (context) {
    case 'html':
      return data.replace(/&/g, '&')
                .replace(//g, '>');
    case 'sql':
      return mysql.escape(data); // 使用参数化查询更佳
    case 'url':
      return encodeURIComponent(data);
    default:
      return data;
  }
}
该函数根据上下文对输入进行差异化处理:HTML上下文进行实体编码,防止XSS;SQL场景使用转义或预编译语句避免注入;URL编码确保跳转安全。
  • 输入应在进入系统时立即验证
  • 拒绝不合法输入而非尝试修复
  • 结合内容安全策略(CSP)增强防护

2.5 实战:构建安全的数据库访问层

在现代应用架构中,数据库访问层是业务逻辑与数据存储之间的关键桥梁。确保其安全性与稳定性至关重要。
使用参数化查询防止SQL注入
最基础但最关键的防护措施是杜绝拼接SQL语句。通过预编译语句和参数绑定,可有效阻断注入攻击。
stmt, err := db.Prepare("SELECT id, name FROM users WHERE id = ?")
if err != nil {
    log.Fatal(err)
}
rows, err := stmt.Query(123) // 参数值被安全传递
上述代码使用占位符 ?,将用户输入作为参数传入,数据库驱动会自动转义特殊字符,避免恶意SQL执行。
最小权限原则与连接池配置
  • 数据库账号应仅授予必要表的读写权限,禁用系统命令执行
  • 连接池设置最大空闲连接数与超时时间,防止资源耗尽
配置项推荐值说明
MaxOpenConns50控制并发访问数据库的最大连接数
MaxIdleConns10保持空闲连接数量,提升响应速度

第三章:跨站脚本(XSS)攻击的全面防御

3.1 XSS攻击类型与执行场景深入分析

XSS(跨站脚本攻击)主要分为三类:存储型、反射型和DOM型,每种类型的触发机制和执行场景各不相同。
攻击类型对比
  • 存储型XSS:恶意脚本持久化存储在目标服务器,如评论内容注入。
  • 反射型XSS:通过诱导用户点击恶意链接,脚本随请求反射执行。
  • DOM型XSS:完全在客户端执行,依赖JavaScript对DOM的不安全操作。
典型代码示例
document.getElementById("output").innerHTML = location.hash.slice(1);
上述代码直接将URL哈希值写入页面,未进行转义处理。当访问#<script>alert(1)</script>时,脚本将在页面上下文中执行,构成典型的DOM型XSS。
执行场景差异
类型触发位置是否需用户交互
存储型服务端渲染页面否(一旦加载即触发)
反射型URL参数解析是(需点击链接)
DOM型前端JS逻辑视情况而定

3.2 输出编码与HTML转义的Go实现

在Web开发中,防止XSS攻击的关键手段之一是输出编码。Go语言通过标准库html/template提供了自动HTML转义机制,确保动态数据安全插入HTML上下文。
自动转义机制
Go的html/template包会自动对变量进行HTML转义,避免恶意脚本注入:
package main

import (
    "html/template"
    "os"
)

func main() {
    const tpl = `

{{.}}

` t := template.Must(template.New("example").Parse(tpl)) // 输入包含恶意脚本 data := "<script>alert('xss')</script>" t.Execute(os.Stdout, data) // 输出: &lt;script&gt;... }
上述代码中,原始字符串中的特殊字符<、>被转义为&lt;和&gt;,从而阻止脚本执行。
转义规则对照表
原始字符转义结果
<&lt;
>&gt;
&&amp;
"&quot;

3.3 内容安全策略(CSP)在Go服务中的集成

内容安全策略(CSP)是防御跨站脚本(XSS)攻击的关键防线。在Go语言构建的Web服务中,通过中间件方式集成CSP可有效控制资源加载行为。
设置CSP响应头
使用 net/http 中间件注入CSP头,限制脚本来源:
func CSPMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Content-Security-Policy", 
            "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;")
        next.ServeHTTP(w, r)
    })
}
上述策略限定:仅允许加载同源脚本、样式和图片,内联脚本与样式需显式允许('unsafe-inline'),数据URI图片可显示。
常用指令说明
  • default-src:默认资源加载策略
  • script-src:控制JavaScript执行来源
  • style-src:限制CSS来源
  • img-src:定义图像资源允许的源

第四章:增强Web应用安全的进阶手段

4.1 使用Go中间件实现请求过滤与净化

在Go语言的Web开发中,中间件是处理HTTP请求的核心组件之一。通过中间件,可以在请求到达处理器之前进行过滤、认证、日志记录或数据净化。
中间件的基本结构
一个典型的Go中间件是一个函数,接收http.Handler并返回一个新的http.Handler:
func FilterMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        // 过滤非法字符
        if strings.Contains(r.URL.Path, "..") {
            http.Error(w, "Invalid path", http.StatusBadRequest)
            return
        }
        next.ServeHTTP(w, r)
    })
}
该中间件拦截包含路径遍历的请求,防止目录穿越攻击。参数next表示调用链中的下一个处理器,确保责任链模式的实现。
多层净化处理
可将多个中间件叠加使用,形成净化流水线:
  • 输入验证:校验参数格式
  • XSS过滤:移除或转义HTML标签
  • SQL注入防护:检测恶意SQL关键字

4.2 安全头部设置提升客户端防护能力

通过合理配置HTTP安全响应头,可显著增强Web应用的客户端防护能力,有效缓解跨站脚本、点击劫持等常见攻击。
关键安全头部配置
  • Content-Security-Policy (CSP):限制资源加载来源,防止恶意脚本执行;
  • X-Frame-Options:防止页面被嵌套在<iframe>中,抵御点击劫持;
  • Strict-Transport-Security:强制使用HTTPS通信;
  • X-Content-Type-Options:禁止MIME类型嗅探。
示例:Nginx中安全头部配置

add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com";
add_header X-Frame-Options DENY;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Content-Type-Options nosniff;
上述配置中,CSP策略限定脚本仅来自自身域和可信CDN,X-Frame-Options设为DENY可完全阻止嵌套,HSTS确保一年内自动升级HTTPS连接。

4.3 防御CSRF与会话固定攻击的综合方案

为有效防御CSRF与会话固定攻击,需结合多种安全机制构建纵深防护体系。
同步Token与SameSite策略
在表单提交中嵌入一次性CSRF Token,并配合Cookie的SameSite=Strict属性,可显著降低跨站请求伪造风险。例如:

app.use(session({
  secret: 'secure-secret',
  cookie: { 
    httpOnly: true,
    secure: true,
    sameSite: 'strict' // 阻止跨站携带Cookie
  }
}));
该配置确保会话Cookie仅在第一方上下文中发送,且无法通过JavaScript访问。
会话再生机制
用户登录成功后应重新生成会话ID,防止会话固定:
  • 初始会话由服务器随机生成
  • 认证通过后调用req.session.regenerate()
  • 旧会话彻底销毁
结合HTTPS传输、HttpOnly标志及短期会话有效期,形成多层防御闭环。

4.4 日志审计与攻击行为监控机制设计

日志采集与结构化处理
为实现高效审计,系统通过 Fluent Bit 收集容器与主机日志,并统一转换为 JSON 结构。关键字段包括时间戳、源IP、操作类型和响应状态码。
{
  "timestamp": "2023-10-05T12:45:00Z",
  "src_ip": "192.168.1.100",
  "action": "login_attempt",
  "status": "failed",
  "user_agent": "Mozilla/5.0"
}
该结构便于后续规则引擎匹配与异常行为识别,时间戳采用ISO 8601标准确保跨时区一致性。
实时攻击行为检测规则
基于 Elastic Stack 构建检测规则库,支持以下常见攻击模式识别:
  • 暴力破解:同一IP在5分钟内失败登录超过5次
  • 扫描行为:单IP访问超过20个不同URL路径
  • 敏感操作:非授权用户尝试访问管理接口
检测规则由安全团队定期更新并注入至 Beats 监控管道,实现实时告警。

第五章:构建可持续演进的安全开发体系

安全左移的实践路径
将安全检测嵌入CI/CD流水线是实现安全左移的关键。在代码提交阶段,通过预提交钩子自动执行静态代码分析工具扫描。例如,在Git仓库中配置pre-commit脚本:

#!/bin/bash
echo "Running security scan..."
bandit -r myapp/ --exit-zero
if [ $? -ne 0 ]; then
    echo "Security scan failed!"
    exit 1
fi
该脚本在每次提交时检查Python代码中的常见漏洞,如硬编码密码或不安全的反序列化操作。
自动化依赖治理策略
第三方库是供应链攻击的主要入口。建议使用SBOM(软件物料清单)工具生成依赖清单,并与CVE数据库联动。以下为常用工具组合:
  • Dependency-Track:持续监控组件风险
  • OWASP DCX:生成CycloneDX格式SBOM
  • Snyk CLI:集成开发环境实时告警
安全门禁的量化控制
在发布流水线中设置基于风险评分的门禁规则。下表为某金融系统设定的阈值标准:
风险等级CVSS ≥ 7.0 漏洞数允许操作
低0自动部署
中1-2人工审批后部署
高>2阻断发布
红蓝对抗驱动能力迭代
每季度组织红队模拟攻击,针对API滥用、身份伪造等场景实施渗透测试。某电商平台通过此类演练发现JWT令牌未绑定客户端指纹的问题,随后在认证中间件中增加设备标识校验逻辑,显著降低账户盗用风险。
Go Web开发中的XSS防护:从原理到生产级防御体系构建 跨站脚本攻击(XSS)是Web安全领域最常见且危害巨大的漏洞类型之一,其本质是攻击者通过注入恶意脚本,在用户浏览器中执行非授权操作。防御XSS的核心原理在于对用户输入进行严格的上下文感知编码和净化,确保数据在不同输出位置(如HTML、JavaScript、CSS)的安全性。在Go语言生态中,标准库的`html/template`包提供了强大的自动转义机制,能有效防范大多数XSS攻击。对于生产级应用,开发者需要构建纵深防御体系,结合输入验证、内容净化、安全HTTP头(如CSP)以及安全的会话管理。特别是在处理 阅读详情

相关推荐

【安全漏洞】gomarkdown/markdown 项目的 XSS 漏洞产生与分析

前言 gomarkdown/markdown 是 Go 语言的一个流行模块,它旨在快速地将 Markdown 文档转化为 HTML 页面。而此次发现的漏洞,来源于作者在编写其语法树 Parser 的时候无意的一次 unescape。 漏洞复现 我们首先来看一段代码。 package main import ( "fmt" "github.com/gomarkdown/markdown" "html" ) func main() { var textToRender = "``

HBohan的博客 760

golang避免XSS攻击

随着互联网技术的发展,现在的Web应用都含有大量的动态内容以提高用户体验。所谓动态内容,就是应用程序能够根据用户环境和用户请求,输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成 XSS)的威胁,而静态站点则完全不受其影响。 什么是XSS XSS攻击:跨站脚本攻击(Cross-Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。XSS

2250

xssGo:自动跨站点脚本(XSS)扫描器

xssGo-自动Xss扫描仪 "xssGo" is designed to automate scanning cross site scripting vulnerabilities. Most important functionality of the program is that because of testing with a real browser, not producing wrong results, aka false positives. It is possible to scan with or without authentication. Authentication can be supplied via login credentials or cookies. Phases of program: 1) Scanning xssG

Goweb预防XSS攻击

假设您有一个简单的Web应用程序,其中包含一个用户输入表单,用户可以在其中输入他们的名字,然后这个名字会被显示在页面上。攻击者可以在表单中输入恶意的JavaScript代码,如,如果应用程序没有对这个输入进行适当的处理,那么当其他用户访问该页面时,这段恶意脚本就会在他们的浏览器中执行。在上面的示例中,如果攻击者在name字段中输入,那么当表单提交后,这段脚本就会直接嵌入到生成的HTML中,并在其他用户的浏览器中执行。在将用户输入的数据输出到HTML页面时,对输出进行编码,确保恶意脚本不会被浏览器执行。

qqshenbaobao的博客 719

用golang制作的模糊器,用于查找xss,lfi,rce,ssti等问题,该问题可通过更改内容长度来检测问题,并使用签名进行验证-Golang开发

用golang制作的模糊器,用于查找xss,lfi,rce,ssti等问题,该问题可通过更改内容长度来检测问题,并使用签名进行验证。 什么是BountyIt? 用golang制作的模糊器,用于查找xss,lfi,rce,ssti等问题,该问题可通过更改内容长度来检测问题,并使用签名进行验证。 帮助-grep字符串指定自定义grepping签名。 Ex -grep signatures.txt -header字符串如果需要,添加任何自定义标题。 例如:-header“ Cookie:Session = 12cbcx ....”-方法字符串如果需要,请添加方法名称。 例如:-方法PUT。 缺省的“ GET”(缺省的“ GET”)-p字符串送入列表

YOLO26算法大门区域检测+训练好的模型+285张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[大门(gates)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 64 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6364** mAP50-95 | 0.4539 Precision | 0.7309 Recall | 0.6111 train/box_loss | 0.6662 train/cls_loss | 0.5916 val/box_loss | 1.3351 val/cls_loss | 1.5479 【训练过程分析】 训练过程可分成三个主要阶段:前期、中期和后期。刚开始时,模型的损失函数确实有了显著下降,box_loss 从0.6662开始,经过几轮的迭代,迅速降至0.5左右。但到了中期,loss 的下降速度明显放缓,甚至有停滞不前的趋势。这一现象在val/box_loss的表现上尤其明显,从1.3351缓慢上升至1.4左右,直到训练到64轮时才略有下降。在这一阶段,mAP50从0.6364仅轻微上升到0.64,提升有限。这期间,模型似乎陷入了平台期,进展缓慢,让人感到有些煎熬。从第30轮到第64轮,我频繁查看曲线图,希望能捕捉到一点改善的迹象,但都未能如愿。这个阶段也让我对模型的潜力产生了怀疑,担心训练过程可能需要更长时间才能看到显著改善。 进入后期阶段,尽管损失函数略有下降,但mAP50的提升并不明显,这让人感到非常... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

golang web xss攻击预防

下面先发出来我这边写的就简单的获取用户 参数数据在页面上进行展示 package main import ( "fmt" "log" "net/http" ) func main() { //绑定路由 讲访问 / 绑定给 Handler 方法进行处理 http.HandleFunc("/", Handler) http.ListenAndServe(":8080", nil)

小码农的博客 7133

状态估计【卡尔曼滤波kalman】UKF、EKF、粒子滤波PF学习与研究(Matlab代码实现)

内容概要:本文围绕非线性状态估计中的三种经典滤波算法——无迹卡尔曼滤波(UKF)、扩展卡尔曼滤波(EKF)和粒子滤波(PF)展开系统性学习与研究,重点在于通过Matlab编程实现这些算法的核心流程,并将其应用于实际系统的状态估计问题中。文档不仅详细阐述了各算法的数学原理、适用条件与性能差异,还提供了完整的仿真代码与案例分析,帮助读者深入理解其在非线性、非高斯环境下的表现特性。同时,资源拓展至EKF与神经网络融合训练、多源数据融合等高级应用场景,展现了其在智能控制、无人机导航、电力系统状态估计、目标跟踪等领域的广泛应用价值。; 适合人群:具备一定信号处理、控制理论或状态估计基础的研究生、科研人员及工程技术人员,尤其适用于从事自动化、机器人、导航、电力电子与智能系统等相关方向的研究与开发工作者;; 使用场景及目标:① 掌握UKF、EKF与PF在非线性系统中的建模思路与Matlab实现方法,理解其优缺点与适用边界;② 提升科研仿真能力,能够独立构建状态估计模型并进行算法对比验证;③ 将所学方法应用于如电池SOC估算、无人机姿态估计、传感器融合、故障诊断等实际工程问题中;; 阅读建议:建议结合Matlab动手实践,逐行解读并调试所提供的代码,深入理解算法实现细节;同时可延伸学习文中提及的数据融合、神经网络与滤波器结合等进阶主题,以构建完整的状态估计技术知识体系。

Go XSS防护完全手册(从入门到生产级防御)

掌握Go XSS防护核心技术,有效抵御Web应用中的跨站脚本攻击。涵盖HTML转义、上下文输出编码、Content Security Policy等生产级防御策略,适用于Go模板、API服务等场景。方法实用、落地性强,值得收藏。

AlgoFun的博客 937

Modbus4J vs EasyModbus4J:哪个Java库更适合你的工业项目?

本文深入对比了Java领域两大Modbus通信库Modbus4J与EasyModbus4J。Modbus4J设计稳健、类型安全,适合复杂业务集成;EasyModbus4J基于Netty,在高并发场景下性能更优。文章从架构、性能、API及生产环境多维度分析,为工业物联网项目选型提供决策依据。

weixin_28475533的博客 310

手把手教你搭建《黑色沙漠》单机版:从下载到联机的完整指南(含GM工具使用)

本文提供《黑色沙漠》单机版从下载安装到GM工具使用及局域网联机的完整教程。详细解析不同版本选择、系统配置要求、常见问题解决,并分享GM工具高级命令和局域网联机设置技巧,帮助玩家轻松搭建个性化游戏环境。

weixin_28738165的博客 468

Web安全和渗透测试有什么关系?

做渗透测试的一个环节就是测试web安全,需要明白漏洞产生原理,通过信息收集互联网暴露面,进行漏洞扫描,漏洞利用,必要时进行脚本自编写和手工测试,力求挖出目标存在的漏洞并提出整改建议,当然如果技术再精一些,还要学习内网渗透(工作组和域环境),白盒审计,app,小程序渗透那些了......可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。总之,web安全包含于渗透测试,但不是渗透测试的全部。

Python_0011的博客 4857

STM8S全解析之系列文章4---STM8S芯片项目升级引导程序(使用中断接收升级数据)

STM8S全解析之系列文章4—STM8S芯片项目升级引导程序(使用中断接收升级数据) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录STM8S全解析之系列文章4---STM8S芯片项目升级引导程序(使用中断接收升级数据)前言一、Flash划分boot和App二、使用步骤1.引入库2.读入数据总结 前言 用过STM8S都知道它没有中断向量重定向,也就意味着STM8S的中断向量没办法指向其他的位置,间接说明升级的引导

weixin_39853312的博客 1030

80% 准确率背后的秘密:gh_mirrors/rev/reveal.js 手势识别算法原理与实现

gh_mirrors/rev/reveal.js 是一个结合了基于网络摄像头的手势识别功能与 reveal.js 的创新项目,让用户能够通过手势控制演示文稿的翻页和操作,带来更直观、互动性更强的演示体验。 ## 核心功能:手势如何控制演示文稿? 该项目的核心在于通过普通网络摄像头捕捉用户手势,实现对演示文稿的无线控制。当用户在摄像头前做出特定方向的手势时,系统能够识别并触发相应的翻页动作,如左

gitblog_01089的博客 441

B0505S选型

    使用B0505S-1W已经有一段时间了,一直以来使用的是下面的电路,该电路摘自《CAN总线嵌入式开发——从入门到实战》一书。 参考金升阳的用户手册,手册上写道: 为了确保该模块能够高效可靠的工作,使用时,其输出最小负载不能小于额定负载的10%。若您所需功率确实较小,请在输出端并联一个电阻(电阻消耗功率与实际使用功率之和大于等于10%的额定功率)        由于使用该电源模...

动感小麦兜的博客 1万+

相机基础知识讲解:CMOS和CCD

相机基础知识讲解:CMOS和CCD

Coppa的博客 5万+

golang xss 攻击预防

避免XSS攻击 通过使用html的EscapeString 和 UnescapeString 函数实现。 package main import ( "fmt" "html" ) func main() { str1 := "&lt;script&gt;alert(2)&lt;/script&gt;" str2 := html.EscapeString(s...

happy 4256

从外包到转正:一个华为OD亲历者的真实工作体验与避坑指南

本文分享了一位华为OD员工从外包到转正的真实经历与实用建议。通过详细解析华为OD的日常工作、转正核心指标、机试备考技巧及职场突围策略,为读者提供了一份全面的避坑指南。特别针对机试E卷的高频考点和刷题方法,给出了具体的数据分析和实战经验。

weixin_33686714的博客 697

golang防xss注入

golang里面比python处理简单多啦 python处理xss注入攻击 只要用html包就可以了, html.escapeString(content) html.UnescapeString(content) 解开和反解的字符相同,都包括’,”,&amp;,&lt;,&gt;这些字符...

吴景慈跑得快的博客 5422

C# 开发 ACS 运动控制系统:从入门到高阶应用实践

起始位置</param>/// <param name="endPos">结束位置</param>/// <param name="maxVelocity">最大速度</param>/// <param name="maxAcceleration">最大加速度</param>/// <param name="maxJerk">最大加加速度

品质生活,极致编程。 2842

2026年03月CCF-GESP编程能力等级认证Scratch图形化编程一级真题解析

本文收录于《,订阅后可阅读专栏内所有文章。

人生就是一个不断学习的过程 238

XSS攻击绕过过滤方法大全(转)

XSS攻击绕过过滤方法大全(约100种) 虽然说很多网站为了避免XSS的攻击,对用户的输入都采取了过滤,但是,万事总有可能,只要有一定的条件,我们就可以构造经过编码后的语句来进行XSS注入。 这篇文章的主要目的是给专业安全测试人员提供一份跨站脚本漏洞检测指南。文章的初始内容是由RSnake提供给 OWASP,内容基于他的XSS备忘录,现在此XSS备忘录将由OWASP维护和完善它。 OWASP 的第一个防御备忘录项目:XSS (Cross Site Scripting)Prevention Cheat She

mingyqf的博客 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

XSS篇——XSS过滤绕过技巧

无意中发现了一个巨牛巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,小白也能学,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家。点这里可以跳转到教程! 改变大小写 在测试过程中,我们可以改变测试语句的大小写来绕过XSS规则: 比如:<script>alert(“xss”);</script>可以...

weixin_50464560的博客 3998

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

XSS攻击常识及常见的XSS攻击脚本汇总

一、什么是XSS?XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。这里我们主要注意四点:1、目标网站目标用户;2、浏览器;3、不被预期;4、脚本。二、XSS有什么危害?当我们知道了什么是XSS后,也一定很想知道它到底有什么用,或者有什么危害,如何防御。关于XSS有关危害,我这里中罗列...

qw_xingzhe的专栏 8万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

45. XSS篇——XSS过滤绕过技巧

无意中发现了一个巨牛巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,小白也能学,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家。点这里可以跳转到教程! 改变大小写 在测试过程中,我们可以改变测试语句的大小写来绕过XSS规则: 比如:<script>alert(“xss”);</script>可以...

Fly_鹏程万里 2万+
上一篇: 为什么你的Go程序在PostgreSQL上慢如蜗牛?这7个坑你可能正在踩
下一篇: 【Go语言SQL注入防护终极指南】:揭秘99%开发者忽略的安全盲区
CompiGap
博客等级 码龄1年 147粉丝 1970原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值