Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编码撇号已转换为%27_Javascript_Google Chrome_Encoding_Uri - Fatal编程技术网

Javascript 编码撇号已转换为%27

Javascript 编码撇号已转换为%27,javascript,google-chrome,encoding,uri,Javascript,Google Chrome,Encoding,Uri,我想访问以下链接: http://localhost:8080/lookups/TagGroup.html? is_guideline_tag=true&field_name=%3C%3Ealert('1')%3E&tag_group_id=38 但当我将其粘贴到浏览器(Chrome 63.0.3239.84)时,它会变成: http://localhost:8080/lookups/TagGroup.html? is_guideline_tag=true&am

我想访问以下链接:

http://localhost:8080/lookups/TagGroup.html?
    is_guideline_tag=true&field_name=%3C%3Ealert('1')%3E&tag_group_id=38
但当我将其粘贴到浏览器(Chrome 63.0.3239.84)时,它会变成:

http://localhost:8080/lookups/TagGroup.html?
    is_guideline_tag=true&field_name=%3C%3Ealert(%271%27)%3E&tag_group_id=38
因此撇号被替换为
%27
,我无法访问该链接

我还想提到我上面链接中的字段名称是这样获得的:
encodeURIComponent(“警报('1')>”)
,它应该返回
%3C%3Ealert('1')%3E

有什么想法吗

因此撇号被%27替换,我无法访问链接

%27
是在URI编码字符串(URL中的查询字符串是URI编码的)中包含
'
的正确、最新的方法。如果您在服务器端遇到问题,听起来好像您没有正确解码URI。这就是你需要解决的问题。如果您对字段进行URI解码,该字段就可以了:


console.log(解码组件(“%3C%3Ealert(%271%27)%3E”)为什么参数中有代码?这是一个相当大的安全风险…
field\u name=alert(**'1'**)>
?什么?实际上是字段\ u name=alert('1')>。星号应该包含粗体文字,因为我想强调问题出现的地方。真的是这样吗?1.Chrome只编码
,而不编码其他保留字符。2.RFC3986将允许的查询字符定义为
*(pchar/“/”/“?”
,其中pchar包括
@Hurelu-谢谢!是的,我不明白为什么Chrome会改变
,但不是说,
,因为两者都在子文档中。我相信他们是有原因的。我已经调整了答案。