假如项目在前期没有过滤客户提交的字符,那么可以在输出的时候,对输出的字符进行过滤,防止出现XSS跨域攻击。

原理简单:利用ASP.NET API的管道原理,在MessageHandlers中添加一个自定义的处理环节。

好了,源代码如下:

public classMessageFilterOutputHandler : MessageHandler{protected override asyncTask OutgoingMessageAsync(HttpResponseMessage message){var ps = awaitmessage.Content.ReadAsStringAsync();ps= AntiXssEncoder.HtmlEncode(ps, false);message.Content= newStringContent(ps);}}public abstract classMessageHandler : DelegatingHandler{protected override async Task<HttpResponseMessage>SendAsync(HttpRequestMessage request, CancellationToken cancellationToken){var response = await base.SendAsync(request, cancellationToken);awaitOutgoingMessageAsync(response);returnresponse;}protected abstractTask OutgoingMessageAsync(HttpResponseMessage message);}

其中,OutgoingMessageAsync方法中,利用了微软的AntiXss类库,防止输出:<script>,<iframe>等敏感字符。

另外,Global文件中,在Application_Start方法中添加,对MessageFilterOutputHandler的调用。

GlobalConfiguration.Configuration.MessageHandlers.Add(new MessageFilterOutputHandler());

文章出处:www.cnblogs.com/jizhong

转载于:https://www.cnblogs.com/tianciliangen/p/8027495.html

利用微软AntiXss Library过滤输出字符,防止XSS攻击相关推荐

  1. php富文本防注入_HTML Purifier,PHP中过滤富文本防止XSS攻击

    首先引用别人的原话: HTML Purifier:PHP防止xss跨站攻击利器 xss是什么? (百度到的→)XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给 ...

  2. mysql子查询设置_什么是mysql子查询?如何利用子查询进行过滤?

    子查询 MySQL 4.1引入了对子查询的支持,所以要想使用本章描述的SQL,必须使用MySQL 4.1或更高级的版本. SELECT语句 是SQL的查询.迄今为止我们所看到的所有 SELECT 语句 ...

  3. IO流:输入字节流:InputStream 、 输出字节流:OutputStream 、输入字符流:Reader 、输出字符流:Writer、 BufferedInputStream

    ## 1_ IO流的介绍及其分类          * IO流:          *         I: Input 输入          *         O: Output 输出      ...

  4. VC++利用微软mstscax.dll控件集成远程桌面

    利用微软mstscax.dll控件集成远程桌面 1. 新建基于MFC的对话框程序,在对话框资源上右键,选择[Insert ActiveX Control...]菜单,然后在弹出的界面中选择" ...

  5. 利用C语言编程反向输出字符串

    以下是两种通过调用函数的方法来反向输出字符,反向输出字符串可以利用一维数组来实现. 法1:在调换字符位置的过程中,设置两个变量,一个从前往后,一个从后往前,这两个变量对应数组值进行交换,终止条件是前面 ...

  6. 【转】SQL函数:字符串中提取数字,英文,中文,过滤重复字符

    SQL函数:字符串中提取数字,英文,中文,过滤重复字符 --提取数字 IF OBJECT_ID('DBO.GET_NUMBER') IS NOT NULL DROP FUNCTION DBO.GET_ ...

  7. 案例:服务器输出字符数据到浏览器 || 乱码问题|| 案例:服务器输出字节数据到浏览器

    2. 服务器输出字符数据到浏览器     步骤:             1. 获取字符输出流             2. 输出数据    * 注意:             * 乱码问题:    ...

  8. Response_案例2_输出字符数据

    2. 服务器输出字符数据到浏览器     * 步骤:         1. 获取字符输出流         2. 输出数据 * 注意:         * 乱码问题:             1. P ...

  9. vmware 蓝屏_网络安全小百科--利用微软CVE 2019-0708漏洞让对方系统蓝屏死机

    漏洞背景: Windows 系列服务器于 2019 年 5 月 15 号,被爆出高危漏洞,该服务器漏洞利用方式是通过远程桌面端口3389进行攻击的.这个漏洞是今年来说危害严重性最大的漏洞,跟之前的永恒 ...

  10. 利用非数组的方法输出杨辉三角

    大家知道利用数组数组的方法输出杨辉三角是一件比较容易的事情,在许多的教材上都能够找到,而且计算速度比较快,但是有个缺点就是当输出的阶数比较大的时候,需要占用较多的存储空间. 下面我尝试用利用非数组的方 ...

最新文章

  1. IDS与IPS的区别
  2. 奇奇seo优化软件_seo优化软件如何选择
  3. 设计模式--装饰者模式
  4. JMeter压测入门简单使用
  5. python多线程下载器_用 python 实现一个多线程网页下载器
  6. java 变量名 字符串_如何使字符串值在java中调用特定的现有JButton变量名?
  7. 5步详解PHP文件上传功能的实现
  8. 通俗易懂!视觉slam第七部分——四元数
  9. 浪潮之巅第三章 — “水果”公司的复兴 (乔布斯和苹果公司)(全)
  10. 二级MS office考试中一些常考的函数(Excel)(2)
  11. python 日期的周数_术业有专攻:日期时间模块datetime
  12. php 快递打印设置,让ecshop批量打印快递单修改方法
  13. linux测试upnp,UPnP linux新手入门
  14. 普渡大学电子计算机专业,普渡大学计算机系统研究生专业排名真是得留神去看...
  15. django的ORM常用字段和参数
  16. 多进程动态规划破解微信小程序水排序谜题
  17. 入门C语言编程植树问题,亏损率的公式—(-圆位置排序c程序-数学-封巧及同学
  18. Pytorch——报错解决:匈牙利匹配
  19. HarmonyOS resources目录中“限定词目录”命名要求
  20. 排列奇偶性与排序的关系

热门文章

  1. 利用shell脚本远程磁盘分区
  2. js、jQuery实现文字上下无缝轮播、滚动效果
  3. 性能测试二八原则,响应时间2/5/8原则
  4. 自动外呼——设计思路整理篇
  5. iOS中使用SFHFKeychainUtils保存用户密码
  6. 如何恢复丢失的分区及文件(视频教程)
  7. 【BMC_patrol常见问题汇总】Console License生成
  8. 电大计算机阅读英语作文,(2017年电大)电大英语作文整理20篇.doc
  9. like roofs shell white_高二英语新教材Unit 3同步练习
  10. 8.MongoDB之分片集群