富文本内容要替换掉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过滤相关推荐

  1. java前端提示反射型xss_解决反射型XSS漏洞攻击

    1 /* 2 * Copyright (C), 2001-2019, xiaoi机器人3 * Author: han.sun4 * Date: 2019/2/28 11:395 * History:6 ...

  2. Java 后端接收前端的富文本参数,传到后台后标签样式数据丢失

    问题描述: 前端传参的时候,某个参数中是富文本格式,格式如下: {   "id": "698002e34cb64156ade62a073699f5d9", &q ...

  3. java实现word导入导出富文本(含图片)-附完整测试用例

    主要有以下几点: 1.解决富文本导入导出依赖兼容问题 2.处理富文本和非富文本内容 3.解决webp格式通过java下载不了问题,如果要用到富文本导出,将来势必是会碰到的bug,这里提前给提出来并解决 ...

  4. 从html富文本中提取纯文本

    其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式. 所以只需要将富文本字符串中的"<.....>"标签剔除,即可得到纯文本 ...

  5. PMEdit一个富文本框可以编辑文本、图片并可以显示GIF动画

    一.在开始之前首先吐槽一下,本人是一个独立开发者,在中国独立开发者就代表一个比较苦逼的行业,特别是对底层东西进行开发者,尤其本人研究方向是编译器.解析器基本上没有公司要,所以出来做个独立开发者.作为独 ...

  6. PMEdit一个富文本框可以编辑文本、并可以显示GIF动画

    PMEdit一个富文本框可以编辑文本.并可以显示GIF动画 发布时间:2013-04-14 发布来源: 护士必必要有同情心和一双愿意工作的手. 一.在开端之前起首吐槽一下,本人是一个自力开辟者,在中国 ...

  7. PHP开发小技巧①⑥—提取富文本字符串中的文本内容

    综述 富文本在我们平常的项目中应用已经很广泛了,并逐渐发展成了一个行业.最近在项目中遇到需要提取富文本字符串中的文本内容,本篇博文就是记述如何重富文本字符串中提取出文本内容,欢迎大家相互学习. 富文本 ...

  8. unity学习笔记-text文本识别html富文本(待改进)

    unity学习笔记 text文本识别html富文本(待改进) 需求 逻辑 实现 xlua的安装 配置到unity 使用 改进优化(待改进) text文本识别html富文本(待改进) 需求 项目里需要将 ...

  9. android h5富文本编辑器,H5富文本编辑器的详细介绍

    使用H5的全局属性contenteditable可以让DOM元素及其子元素变的可编辑 样式代码 html, body { overflow: hidden; width: 100%; height: ...

  10. h5 富文本输入框_H5富文本编辑器的详细介绍

    使用H5的全局属性contenteditable可以让DOM元素及其子元素变的可编辑 样式代码 html, body { overflow: hidden; width: 100%; height: ...

最新文章

  1. C#:消息队列应用程序
  2. USACO1.1 Broken Necklace (beads)
  3. Unity: .NET下的依赖注入容器
  4. 在计算机桌面怎么找打印机,win10系统电脑打印机图标找回来的教程
  5. java图像处理,拷贝图像EXIF信息
  6. javaScript第五天(2)
  7. easyui 添加下拉框数据_功能更新:熟用仪表盘这个功能,你可以少建90%的数据报表...
  8. pythonmysql部署_详解centos7+django+python3+mysql+阿里云部署项目全流程
  9. 127.0.0.1和0.0.0.0和本机IP的区别
  10. bazel 链接第三方动态库_C/C++编程知识:Linux 动态库相关知识整理
  11. mysql 两个日期加减_mysql加减时间-函数-时间加减
  12. matlab 中 x 轴的各种设置
  13. linux环境(centos7.3)下安装Xilinx FPGA以及烧录算法教程
  14. 初学者上手python建模
  15. php李炎恢笔记,李炎恢的PHP绘图技术读书笔记五
  16. cass打开dwg文件无效_DWG文件软件打开显示图形文件无效
  17. ORA-20011 ORA-29913 KUP-11024问题处理
  18. Centos 上使用mmsh协议听猫扑网络电台 VLC播放器
  19. 基于stm32F1的蓝牙控制小车 全硬件代码开源
  20. php12生肖是哪个,十二生肖对应的数字

热门文章

  1. 远程连接centos 服务器,怎么用远程桌面连接CentOS 8
  2. 抖音seo源码系统开发@抖音小程序挂载能力实现技术搭建
  3. 2012百公里毅行——长沙,湘潭,株洲
  4. Android 应用程序无响应(ANR)报错原因
  5. Kinect 姿势检测
  6. vue 强制清理浏览器缓存
  7. idea启动时加载完卡住的解决办法
  8. Pytorch基础知识(7)单目标检测
  9. ssm毕设项目基于远程协作的汽车故障诊断系统t6ipg(java+VUE+Mybatis+Maven+Mysql+sprnig)
  10. 笔记本有线及无线的MAC地址修改