防止包含 XSS 攻击风险的内容提交成功

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Net.Http;

using System.Web.Http;

using System.Data;

using System.Data.SqlClient;

using System.Text.RegularExpressions;

using System.Web;

/// <summary>

/// 清理HTML内容,防止XSS攻击

/// </summary>

/// <param name="input">输入字符串</param>

/// <returns>清理后的安全字符串</returns>

private string Sanitize(string input)

{

if (string.IsNullOrEmpty(input))

return string.Empty;

// 移除所有HTML标签

string sanitized = Regex.Replace(input, "<[^>]*>", "");

// 编码HTML特殊字符

sanitized = HttpUtility.HtmlEncode(sanitized);

// 移除可能的JavaScript代码

sanitized = Regex.Replace(sanitized, @"javascript:", "", RegexOptions.IgnoreCase);

sanitized = Regex.Replace(sanitized, @"on\w+\s*=", "", RegexOptions.IgnoreCase);

// 移除SQL注入相关的字符

sanitized = Regex.Replace(sanitized, @"['"";]", "");

// 移除多余的空格

sanitized = Regex.Replace(sanitized, @"\s+", " ").Trim();

return sanitized;

}

// 从dynamic对象中提取参数

string emali = pro.emali?.ToString() ?? "";

string name = pro.name?.ToString() ?? "";

string phone = pro.phone?.ToString() ?? "";

string describe = pro.describe?.ToString() ?? "";

string type = pro.type?.ToString() ?? "";

string userids = pro.userid?.ToString() ?? "";

// 清理输入参数,防止XSS攻击

string em = Sanitize(emali);

string cleanName = Sanitize(name);

string cleanPhone = Sanitize(phone);

string cleanDescribe = Sanitize(describe);

string cleanType = Sanitize(type);

string cleanUserid = Sanitize(userids);

相关推荐
gAlAxy...26 分钟前
IntelliJ IDEA 四种项目构建:从普通 Java 到 Maven Web 项目
前端·firefox
祈祷苍天赐我java之术28 分钟前
解析常见的限流算法
java·数据结构·算法
my一阁28 分钟前
2025-web集群-问题总结
前端·arm开发·数据库·nginx·负载均衡·web
摇滚侠29 分钟前
IDEA 启动前端项目 IDEA 切换分支
java·ide·intellij-idea
会飞的小妖30 分钟前
个人博客系统(十一、前端-简短的配置)
前端
元直数字电路验证31 分钟前
Jakarta EE开发中,如何配置IntelliJ IDEA的远程调试?
java·eureka·intellij-idea
石头wang33 分钟前
idea字体的问题(idea应用本身的字体问题)
java·ide·intellij-idea
孔明兴汉2 小时前
第一章-第三节-Java开发环境配置
java·开发语言
无聊的小坏坏2 小时前
从零开始:C++ 多线程 TCP 服务器实战(续篇)
服务器·c++·tcp/ip
念念不忘 必有回响2 小时前
nginx前端部署与Vite环境变量配置指南
前端·nginx·vite