如何防止URL编码嵌入式URL链接的浏览器控制

时间:2015-08-06 05:21:49

标签: html url href url-encoding

请原谅我对HTML的了解不足

我正在尝试生成一个静态HTML页面,该页面在第三方应用程序中的嵌入式HTML浏览器组件中呈现。

在HTML Body中,我在页面中嵌入了URL链接。

<a href="https://mydomain.com.au/Web/Default.ashx?encrypt=x%2BNWTAVMqprD%2BZyFtf1tfBVfIfhqKJ3JCjMmiXiSJSUl6n4FzCuW8mwQfpNskdQEvqU7QiWMdR%2Bbu9y6%2BiO8eh41XwGJX9l5iCYZunTamhGdkkiR9CqVCrkStu%2BzAlhqcJYG6M0zztcActpm6iSn99gXDlw8z%2BHs8Q88N9fZyXdYpxspgl%2BAoGZe7hR3zOulJb1YhabyBbf%2BkfI0dq1YQpHn3SWig8HuWvBANXPrPHDqAOsnT1DtJQ%3D%3D" class="Action">Access Application</a>

请注意,上述网址为&#34; URLEncoded&#34;。具体来说,&#34; encrypt =&#34;之后的查询字符串加密,然后URLEncoded。

问题

第三方应用程序中嵌入的HTML浏览器组件呈现HTML并且所有内容都显示正常,除非它对URL字符串进行解码。

这会产生带有以下URI的超链接;

https://mydomain.com.au/Web/Default.ashx?encrypt=x+NWTAVMqprD+ZyFtf1tfBVfIfhqKJ3JCjMmiXiSJSUl6n4FzCuW8mwQfpNskdQEvqU7QiWMdR+bu9y6+iO8eh41XwGJX9l5iCYZunTamhGdkkiR9CqVCrkStu+zAlhqcJYG6M0zztcActpm6iSn99gXDlw8z+Hs8Q88N9fZyXdYpxspgl+AoGZe7hR3zOulJb1YhabyBbf+kfI0dq1YQpHn3SWig8HuWvBANXPrPHDqAOsnT1DtJQ==

注意现在存在的字符,如&#34; +&#34;和&#34; =&#34;这导致无法加载作为URL目标的应用程序。

有没有办法阻止浏览器(浏览器控件?)解码此URL字符串并保持其完整性?

我正在考虑我的头脑,我并不是真正理解这个建议的目的,而是会定义一个&#34;类型&#34;链接上的属性,如

<a type="application/x-www-form-urlencoded" href="xxx.com/ddddd" class="Action">Access Application</a>

有什么影响吗?

如何阻止浏览器控件解码此URL?

&lt;中的元标记头&gt; ???

提前致谢!

亲切的问候

亚伦

1 个答案:

答案 0 :(得分:1)

我们不得不逃避%符号。

例如:将链接中的%2B更改为%252B(%25是%符号的转义码)。同样,将%3D更改为%253D具有相同的效果,并阻止客户端应用程序将%3D渲染为=符号。

我们无法阻止客户端应用程序解码&#39; URL完全但至少现在解码为正确的URL值