更新: 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 )的更多相关文章

  1. 【Web】URI和URL,及URL的编码

    URI和URL是什么,以及他们的区别 URL,Uniform Resource Locator,统一资源定位符.用于表示网络上服务器的资源所在位置,比如我们输入浏览器的地址. URI,Uniform ...

  2. URL参数为url,获取不到部分参数问题

    url1中的参数含有url2,在页面上获取url时发现url后面跟的参数获取不到,其实是浏览器把url2中&后的参数作为url1的参数来处理了. 如:http://www.ilcng.com/ ...

  3. php 对url 操作类:url拼接、get获取页面、post获取页面(带传参)

    /* * @brief url封装类,将常用的url请求操作封装在一起 * */ class URL{ private $error; public function __construct(){ $ ...

  4. Django 源码小剖: URL 调度器(URL dispatcher)

    在刚开始接触 django 的时候, 我们尝试着从各种入门文档中创建一个自己的 django 项目, 需要在 mysite.urls.py 中配置 URL. 这是 django url 匹配处理机制的 ...

  5. 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?

    给定a.b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a.b文件共同的url? 可以估计每个文件的大小为5G*64=300G,远大于4G.所以不可能将其完全加载到 ...

  6. 使用Url.Routeurl获取url值。

    1,获取url值.         public ActionResult About()         {            RouteValueDictionary RVD = new Ro ...

  7. ThinkPHP URL模式和URL重写

    现在用的版本是TP3.1.3,这两天总是遇到NotFound的错误,解析路径错误,所以认真研究了一下手册,发现问题出在URL模式上面. URL模式 一般是使用U方法来生成路径,U方法的定义规则如下(方 ...

  8. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

  9. URL 调度器(URL dispatcher)

    URL 调度器(URL dispatcher) 在刚开始接触 django 的时候, 我们尝试着从各种入门文档中创建一个自己的 django 项目, 需要在 mysite.urls.py 中配置 UR ...

  10. 隐性URL与显性URL区别与SEO考虑

    隐性URL与显性URL经常在实现页面跳转的时候用到,这两种方式有什么区别,各自对SEO有什么影响?看一下阿里云的官方文档解释: 显性URL转发: 例如: http://b.com/ 指向 http:/ ...

随机推荐

  1. 12 二次打开pdf失败

    h5 安卓 iOS均出现pdf二次打开失败

  2. [oeasy]python0069_帮助手册_pydoc_manual_document

    帮助手册 回忆上次内容   上次了解了注释 注释是为了让程序更可读 注释不会影响程序运行速度   注释分为两种 单行的 以#开头 不能是字符串当中的#   多行的 三个" 三个'     多 ...

  3. [oeasy]python0139_尝试捕获异常_ try_except_traceback

                                                          - 不但要有自己的报错 - 还要保留系统的报错 - 有可能吗? ​ ### 保留报错 ​ ! ...

  4. 题解:P10722 [GESP202406 六级] 二叉树

    题意 一颗 \(n\) 节点的二叉树,每个节点非黑即白,给你 \(Q\) 次操作,每次给你一个 \(u\),把 \(u\) 的子树内所有节点颜色反转,问最终每个节点的颜色. 分析 看到数据范围,首先把 ...

  5. Day 7 - 哈希与 KMP

    字符串哈希 定义 我们定义一个把字符串映射到整数的函数 \(f\),这个 \(f\) 称为是 \(\text{Hash}\) 函数. 我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相 ...

  6. windows上传app到构建版本的方法

    ios打包好ipa文件后,ipa文件需要上架到app store,用户才能安装.而在app store里,无法直接将ipa上传,需要使用工具上传,但是官方提供的工具,比如xcode等只能安装在苹果电脑 ...

  7. 【Java】三元运算符 类型提升 问题

    代码片段: @Test public void test() { Object o = true ? new Integer(1) : new Double(2); System.out.printl ...

  8. 【Keepalived】KP + NGINX 多机热备学习

    案例搭建 环境是三台机器,两台也可以 最后一个IP是测试的VIP 192.168.124.21 centos6-1 192.168.124.22 centos6-2 192.168.124.23 ce ...

  9. 【Spring-Security】Re06 自定义Access & 注解权限分配

    一.基于ACCESS方法处理的实现: 我们之前使用的任何放行规则的方法,本质上还是调用access方法执行的 这也意味之我们可以直接使用access方法去方向,只需要注入不同的字符串即可 自定义Acc ...

  10. 向日葵的平替:fastnat的使用

    相关: 向日葵的平替:一款个人开发的远程工具--fastnat ---------------------------------------------- 1. 下载安装 2. 注册设备 我这里在两 ...