escape、encodeURI、encodeURIComponent

参考链接: https://blog.csdn.net/xude1985/article/details/52268533

字符被替换成了十六进制的转义序列


escape:  ASCII 字母和数字  * @ - _ + . / 

encodeURI:  ASCII 字母和数字   - _ . ! ~ * ' ( )   ;/?:@&=+$,#

encodeURIComponent:   ASCII 字母和数字 - _ . ! ~ * ' ( )


URI:统一资源标志符(Uniform Resource Identifier)

 URL:统一资源定位符(uniform resource location)

locators are also identifiers, so every URL is also a URI, but there are URIs which are not URLs.

Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。

在这些可书写的字符里,由于一些字符在不同操作系统的编码有不同的解析,被包含在“不安全字符”之中。                                



正确编码

禁止对URI中的保留字作编码,比如&字符。

如果url参数值带有保留字符,encode之。

潜在的语义攻击风险

总结:

这三个方法,当url保留字符不是用作保留字符的时候,需要encode。

URL编码需要遵守的原则:

不要对Unreserved Characters做percent encode编码。

除了保留字符和非保留字符外的所有字符,必须使用percent encode进行编码。

保留字符不用于URI分隔符,而是用于其它位置,比如query部分的value时,要对这时用到的保留字符做percent encode编码。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值