java 富文本 过滤xss_富文本XSS过滤
富文本内容要替换掉js代码主要防止xss,不是防止注入,防注入参数化写数据库就好了,或者将单引号替换为实体对象在做一些网站(特别是bbs之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。 当然不能用 htmlencode 和 htmldecode 方法,因为这样连基本的html代码会被禁止掉。 我在网上搜索,也没有找到好的解决办法,倒是收集了一些脚本攻击的实例:
其它基本控件的 on...事件中的代码
iframe 和 frameset 中载入其它页面造成的攻击 有了这些资料后,事情就简单多了,写一个简单的方法,用正则表达式把以上符合几点的代码替换掉:
-C#
public string wipescript(string html)
{
system.text.regularexpressions.regex regex1 = new system.text.regularexpressions.regex(@"
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(@" on[\s\S]*=",system.text.regularexpressions.regexoptions.ignorecase);
system.text.regularexpressions.regex regex4 = new system.text.regularexpressions.regex(@"",system.text.regularexpressions.regexoptions.ignorecase);
system.text.regularexpressions.regex regex5 = new system.text.regularexpressions.regex(@"
",system.text.regularexpressions.regexoptions.ignorecase);
html = regex1.replace(html, ""); //过滤标记
html = regex2.replace(html, ""); //过滤href=javascript: () 属性
html = regex3.replace(html, " _disibledevent="); //过滤其它控件的on...事件
html = regex4.replace(html, ""); //过滤iframe
html = regex5.replace(html, ""); //过滤frameset
return html;
}
此方法输入可能包含脚本的html代码,返回则就是干净的代码了。
c#中过滤html的正则表达式
TempContent 表示包含有html的字符串;
TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"]+>","");至少一个
TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"]*>","");任意个
java 富文本 过滤xss_富文本XSS过滤相关推荐
- java前端提示反射型xss_解决反射型XSS漏洞攻击
1 /* 2 * Copyright (C), 2001-2019, xiaoi机器人3 * Author: han.sun4 * Date: 2019/2/28 11:395 * History:6 ...
- Java 后端接收前端的富文本参数,传到后台后标签样式数据丢失
问题描述: 前端传参的时候,某个参数中是富文本格式,格式如下: { "id": "698002e34cb64156ade62a073699f5d9", &q ...
- java实现word导入导出富文本(含图片)-附完整测试用例
主要有以下几点: 1.解决富文本导入导出依赖兼容问题 2.处理富文本和非富文本内容 3.解决webp格式通过java下载不了问题,如果要用到富文本导出,将来势必是会碰到的bug,这里提前给提出来并解决 ...
- 从html富文本中提取纯文本
其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式. 所以只需要将富文本字符串中的"<.....>"标签剔除,即可得到纯文本 ...
- PMEdit一个富文本框可以编辑文本、图片并可以显示GIF动画
一.在开始之前首先吐槽一下,本人是一个独立开发者,在中国独立开发者就代表一个比较苦逼的行业,特别是对底层东西进行开发者,尤其本人研究方向是编译器.解析器基本上没有公司要,所以出来做个独立开发者.作为独 ...
- PMEdit一个富文本框可以编辑文本、并可以显示GIF动画
PMEdit一个富文本框可以编辑文本.并可以显示GIF动画 发布时间:2013-04-14 发布来源: 护士必必要有同情心和一双愿意工作的手. 一.在开端之前起首吐槽一下,本人是一个自力开辟者,在中国 ...
- PHP开发小技巧①⑥—提取富文本字符串中的文本内容
综述 富文本在我们平常的项目中应用已经很广泛了,并逐渐发展成了一个行业.最近在项目中遇到需要提取富文本字符串中的文本内容,本篇博文就是记述如何重富文本字符串中提取出文本内容,欢迎大家相互学习. 富文本 ...
- unity学习笔记-text文本识别html富文本(待改进)
unity学习笔记 text文本识别html富文本(待改进) 需求 逻辑 实现 xlua的安装 配置到unity 使用 改进优化(待改进) text文本识别html富文本(待改进) 需求 项目里需要将 ...
- android h5富文本编辑器,H5富文本编辑器的详细介绍
使用H5的全局属性contenteditable可以让DOM元素及其子元素变的可编辑 样式代码 html, body { overflow: hidden; width: 100%; height: ...
- h5 富文本输入框_H5富文本编辑器的详细介绍
使用H5的全局属性contenteditable可以让DOM元素及其子元素变的可编辑 样式代码 html, body { overflow: hidden; width: 100%; height: ...
最新文章
- C#:消息队列应用程序
- USACO1.1 Broken Necklace (beads)
- Unity: .NET下的依赖注入容器
- 在计算机桌面怎么找打印机,win10系统电脑打印机图标找回来的教程
- java图像处理,拷贝图像EXIF信息
- javaScript第五天(2)
- easyui 添加下拉框数据_功能更新:熟用仪表盘这个功能,你可以少建90%的数据报表...
- pythonmysql部署_详解centos7+django+python3+mysql+阿里云部署项目全流程
- 127.0.0.1和0.0.0.0和本机IP的区别
- bazel 链接第三方动态库_C/C++编程知识:Linux 动态库相关知识整理
- mysql 两个日期加减_mysql加减时间-函数-时间加减
- matlab 中 x 轴的各种设置
- linux环境(centos7.3)下安装Xilinx FPGA以及烧录算法教程
- 初学者上手python建模
- php李炎恢笔记,李炎恢的PHP绘图技术读书笔记五
- cass打开dwg文件无效_DWG文件软件打开显示图形文件无效
- ORA-20011 ORA-29913 KUP-11024问题处理
- Centos 上使用mmsh协议听猫扑网络电台 VLC播放器
- 基于stm32F1的蓝牙控制小车 全硬件代码开源
- php12生肖是哪个,十二生肖对应的数字