邹方成 45815bfb7d chore: 清理无用文件与优化代码结构
refactor(utils): 修复密码哈希比较逻辑错误
feat(user): 新增按状态筛选优惠券接口
docs: 添加虚拟发货与任务中心相关文档
fix(wechat): 修正Code2Session上下文传递问题
test: 补充订单折扣与积分转换测试用例
build: 更新配置文件与构建脚本
style: 清理多余的空行与注释
2025-12-18 17:35:55 +08:00

28 lines
636 B
Go

package activity
import (
"regexp"
"strings"
)
var (
reScript = regexp.MustCompile(`(?is)<\s*script[^>]*>.*?<\s*/\s*script\s*>`)
reOnEvent = regexp.MustCompile(`(?i)\s+on[a-z]+\s*=\s*"[^"]*"`)
reJsProto = regexp.MustCompile(`(?i)javascript:`)
)
func sanitizeHTML(s string) string {
if s == "" {
return ""
}
// 移除 <script> 标签及其内容
s = reScript.ReplaceAllString(s, "")
// 移除内联事件处理属性,如 onclick="..."
s = reOnEvent.ReplaceAllString(s, "")
// 移除 javascript: 协议注入
s = reJsProto.ReplaceAllString(s, "")
// 规范换行
s = strings.ReplaceAll(s, "\r\n", "\n")
return s
}