消毒 url 和 html (url encode and sanitizer html )
更新: 2020-06-24
FromRoute vs FromQuery decode
FromRoute 是不会 auto decode 的, query string 就会
这个是微软默认的设置哦.
https://github.com/aspnet/Mvc/issues/4599#issuecomment-221395753
HttpContext.GetDisplayUrl 拿到的是 encode 的
如果是用 new Uri()
然后 GetComponent path, query 都是 encode 的
如果是用 QueryHelper 拿 query, 那么是 decode 的
逻辑和 FromRoute 和 FromQuery 是一致的
$"{Request.Path} {Request.QueryString}";
这种方式拿 path 和 query 都是 encode 的和 GetDisplayUrl 是一样的
RedirectToPage() 如果 route values 有符号, 它会自动 encode
javascript encode url 我们一般上是用
encodeURI (e.g. encode('https://www.stooges.com.my/contact') )
encodeURIComponent (这个是用在后面的 query string, e.g. encode('key')=encode('value') 要分开哦, = 不要把等于也拿去 encode 就错了)
c# 的话有很多可以用
refer http://www.secretgeek.net/uri_enconding
出来的结果可以参考上面的
对于 js 的话是
encodeURI = Uri.EscapeUriString
encodeURIComponent = Uri.EscapeDataString
for html sanitizer 的话
用插件就可以了, 在 raw html 之前最好是消毒一下.
https://github.com/mganss/HtmlSanitizer
js 的话可以用
https://github.com/cure53/DOMPurify (暂时记入在这里, 以后要用的时候一起弄)
消毒 url 和 html (url encode and sanitizer html )的更多相关文章
- 【Web】URI和URL,及URL的编码
URI和URL是什么,以及他们的区别 URL,Uniform Resource Locator,统一资源定位符.用于表示网络上服务器的资源所在位置,比如我们输入浏览器的地址. URI,Uniform ...
- URL参数为url,获取不到部分参数问题
url1中的参数含有url2,在页面上获取url时发现url后面跟的参数获取不到,其实是浏览器把url2中&后的参数作为url1的参数来处理了. 如:http://www.ilcng.com/ ...
- php 对url 操作类:url拼接、get获取页面、post获取页面(带传参)
/* * @brief url封装类,将常用的url请求操作封装在一起 * */ class URL{ private $error; public function __construct(){ $ ...
- Django 源码小剖: URL 调度器(URL dispatcher)
在刚开始接触 django 的时候, 我们尝试着从各种入门文档中创建一个自己的 django 项目, 需要在 mysite.urls.py 中配置 URL. 这是 django url 匹配处理机制的 ...
- 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?
给定a.b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a.b文件共同的url? 可以估计每个文件的大小为5G*64=300G,远大于4G.所以不可能将其完全加载到 ...
- 使用Url.Routeurl获取url值。
1,获取url值. public ActionResult About() { RouteValueDictionary RVD = new Ro ...
- ThinkPHP URL模式和URL重写
现在用的版本是TP3.1.3,这两天总是遇到NotFound的错误,解析路径错误,所以认真研究了一下手册,发现问题出在URL模式上面. URL模式 一般是使用U方法来生成路径,U方法的定义规则如下(方 ...
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...
- URL 调度器(URL dispatcher)
URL 调度器(URL dispatcher) 在刚开始接触 django 的时候, 我们尝试着从各种入门文档中创建一个自己的 django 项目, 需要在 mysite.urls.py 中配置 UR ...
- 隐性URL与显性URL区别与SEO考虑
隐性URL与显性URL经常在实现页面跳转的时候用到,这两种方式有什么区别,各自对SEO有什么影响?看一下阿里云的官方文档解释: 显性URL转发: 例如: http://b.com/ 指向 http:/ ...
随机推荐
- 求之不得的 Java 文档教程大汇总!
已收录至免费编程资源大全:https://github.com/liyupi/free-programming-resources 大家好,我是鱼皮,今天分享几个 GitHub 上非常实用的 Java ...
- Pycharm中开发vue element项目时eslint的安装和使用
在PyCharm中使用ESLint对Element UI进行语法检查和代码风格检查的配置步骤如下: 确保你的项目已经配置了ESLint并且可以正常运行.如果尚未安装ESLint,请先使用npm(或者你 ...
- 固定panel1,panel2适应窗体变化
固定panel1,panel2适应窗体变化 如果您想要固定 Panel1 并且让 Panel2 适应窗体大小的变化,可以使用以下方式设置 SplitContainer 的属性: ' 设置 Spli ...
- [MAUI 项目实战] 笔记App:程序设计
前言 有人说现在记事类app这么多,市场这么卷,为什么还想做一个笔记类App? 一来,去年小孩刚出生,需要一个可以记录喂奶时间的app,发现市面上没有一款app能够在两步内简单记录一个时间,可能iOS ...
- 数据分析应该掌握的知识及SQL技能
一.概念及常识 1.数据分析必备的统计学知识 描述统计学 1.平均值.中位数.众数 2.方差.标准差 3.统计分布:正态分布.指数分布.二项分布.卡方分布 推论统计学 1.假设检验 2.置信区间 3. ...
- Bond4配置
Bongding聚合链路工作模式 > bond聚合链路模式共7种:0-6Mode > bond 0 负载均衡 轮询方式往每条链路发送报文,增加带宽和容错能力.容易出现数据包无序到达的问题, ...
- 02 IO口的操作
目录 前言 一.IO的概念 1.IO接口 2.IO端口 二.CPU和外设进行数据传输的方法 1.程序控制方式 1.1 无条件 1.2 查询方式 2.中断方式 3.DMA方式 一.方法介绍和代码编写 1 ...
- vue加载三维模型
创建项目 我使用的是Vue CLI3,具体创建不再赘述,网上教程很多 下载SuperMap iClient3D for WebGL产品包 链接:http://support.supermap.com. ...
- 【Kafka】01 基于Docker环境的单例Kafka搭建
安装参考: https://www.cnblogs.com/vipsoft/p/13233045.html 环境安装需要 Zookeeper + Kafka 要学习Kafka还需要繁琐的安装配置,所以 ...
- python3.6—opencv-python报错:Exception: Not found: 'python/cv2/py.typed'
报错: self).run_setup(setup_script=setup_script) File "/tmp/pip-build-env-zsqslesq/overlay/lib/py ...