public string checkStr(string html)
{
System.Text.RegularExpressions.Regex regex1 = new System.Text.RegularExpressions.Regex(@"<script[\s\S]+</script *>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex2 = new System.Text.RegularExpressions.Regex(@" href *= *[\s\S]*script *:", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex3 = new System.Text.RegularExpressions.Regex(@" no[\s\S]*=", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex4 = new System.Text.RegularExpressions.Regex(@"<iframe[\s\S]+</iframe *>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex5 = new System.Text.RegularExpressions.Regex(@"<frameset[\s\S]+</frameset *>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex6 = new System.Text.RegularExpressions.Regex(@"\<img[^\>]+\>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex7 = new System.Text.RegularExpressions.Regex(@"</p>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex8 = new System.Text.RegularExpressions.Regex(@"<p>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex regex9 = new System.Text.RegularExpressions.Regex(@"<[^>]*>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
html = regex1.Replace(html, ""); //过滤<script></script>标记
html = regex2.Replace(html, ""); //过滤href=JavaScript: (<A>) 属性
html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件
html = regex4.Replace(html, ""); //过滤iframe
html = regex5.Replace(html, ""); //过滤frameset
html = regex6.Replace(html, ""); //过滤frameset
html = regex7.Replace(html, ""); //过滤frameset
html = regex8.Replace(html, ""); //过滤frameset
html = regex9.Replace(html, "");
html = html.Replace(" ", "");
html = html.Replace("</strong>", "");
html = html.Replace("<strong>", "");
return html;
}
转载地址:
http://blog.csdn.net/wazhpi/archive/2008/12/28/3628524.aspx
分享到:
相关推荐
### C#过滤HTML标签的方法 #### 方法一:使用正则表达式去除脚本和HTML标签 在提供的代码片段中,首先通过`Regex.Replace()`函数去除所有的脚本标签(`<script>...</script>`),然后继续去除所有其他的HTML标签(`...
- **处理 POST 数据**:遍历所有的表单数据,除了 `__VIEWSTATE`(一个 ASP.NET 内部使用的隐藏字段)外,调用 `goErr` 函数对每个表单项进行过滤。 - **处理 GET 数据**:遍历所有的 URL 参数,调用 `goErr` 函数...
在本篇文章中,我们将深入探讨一个简单的C#函数`FilterHTML`,该函数旨在移除字符串中的所有HTML标签。 #### 函数定义与作用 此段代码定义了一个名为`FilterHTML`的私有方法,它接收一个字符串参数`contents`并...
XSS(Cross-Site Scripting)攻击是一种常见的网络安全威胁,主要针对Web应用程序。...这个名为"AntiXss"的C#代码文件应该包含了实现这些策略的具体示例和函数,学习和理解这些代码可以帮助开发者更好地应对XSS攻击。
HTML Report Engine是一个基于C#编程语言开发的报表引擎类库,专用于生成高质量的HTML格式报告。这个类库为开发者提供了强大的工具,可以方便地在应用程序中集成数据可视化和报告生成功能,尤其适用于Web应用程序...
这个控件是由C#语言编写的,它为开发者提供了一个方便的方式来处理富文本,允许用户输入和查看HTML内容。 HtmlTextBox控件是基于ASP.NET Web Forms或Windows Forms开发中的一个自定义控件。与标准的TextBox控件不同...
C#调用YOLOv3实现目标识别是一个在计算机视觉领域常见的应用场景,主要涉及C#编程、YOLO(You Only Look Once)模型以及DLL动态链接库的使用。YOLOv3是目标检测算法的一种,以其高效和准确而受到广泛关注。在C#中,...
而GeckoFX则是一个开源的.NET库,它允许开发者在C#应用中嵌入Firefox的渲染引擎,实现一个强大的Web浏览器控件。本文将深入探讨C#窗体与GeckoFX浏览器之间的相互调用,帮助开发者理解如何利用这种技术实现复杂的功能...
EasyUI是一个基于jQuery的UI库,它提供了丰富的组件,简化了网页界面的设计,而C# MVC则是一种用于构建动态网站的模式,它将模型(Model)、视图(View)和控制器(Controller)分离,以实现更好的代码组织和业务...
标题"“C# ASP.NET JS 学习工作代码积累”"表明这是一个关于C#、ASP.NET和JavaScript编程技术的学习与工作经验的集合。C#是一种面向对象的编程语言,常用于构建Windows应用程序和Web应用,尤其是与.NET框架结合时。...
DotLiquid是一个专门为.NET框架设计的模板引擎,灵感来源于Ruby编程语言中的Liquid模板系统。这个类库主要用于生成静态网站、电子邮件模板、或者任何需要将数据与显示逻辑分离的应用场景。在DotLiquid中,模板和数据...
例如,`Chinese2PinYin.js`这个文件很可能就是一个实现汉字转拼音首字母的JavaScript库。这类库通常会包含一系列的算法和映射表,用于将汉字转换为对应的拼音。 在使用`Chinese2PinYin.js`这样的库时,开发者首先...
在HTML代码中,创建一个用于选择文件的元素,如`<input type="file">`,然后通过JavaScript初始化Webuploader实例,设置参数,如选择文件的数量限制、文件类型过滤、上传按钮等。 在配置Webuploader时,一个重要的...
在实际项目中,"2007101717483435"可能是压缩包的文件名,它可能包含一个完整的自定义报表源码工程,包括上述各个部分的源代码。为了理解和使用这个源码,开发者需要具备C#编程基础,了解.NET框架,熟悉数据库操作,...
1. **初始化过滤函数**:首先定义一个函数,如上面示例中的`NoHTML`方法,用于接收用户输入的字符串作为参数,并返回经过过滤的字符串。 2. **使用正则表达式过滤**: - **删除脚本标签**:通过正则表达式`[^>]*?>...
WebBrowserEx是一个基于C#编写的高级Web浏览器控件,它扩展了.NET Framework中的标准WebBrowser控件,提供了更丰富的功能和更强的网页解析能力。这个类库的主要目标是为开发者提供一个更易于操作和定制的网页显示...
在示例代码中,`Get_Http`函数就是这样一个例子。它创建了一个`HttpWebRequest`对象,设置超时时间,然后获取响应,最后读取响应流中的内容。这样,我们就可以获取到目标网页的HTML源码。 获取到页面内容后,我们...
.NET MVC(Model-View-Controller)是微软提供的一个用于构建可测试、分层的Web应用程序的框架。它遵循MVC设计模式,将应用程序的业务逻辑、用户界面和数据访问分离,提高了代码的可维护性和可扩展性。Model代表应用...
从给定的文件信息来看,我们正在探讨的是一个在C#中用于字符串处理的实用类库,名为`StringHelper`。这个类库包含了多种用于处理字符串的函数,旨在简化开发人员在进行字符串操作时的工作流程。下面将详细介绍该类库...
ASP.NET是微软开发的一种用于构建Web应用程序的框架,它基于C#编程语言,提供了一种高效、安全的方式来创建动态网站、Web服务和Web应用程序。在本文中,我们将深入探讨两个重要的安全问题:SQL注入和跨站脚本(XSS)...