gpt4 book ai didi

html - 如何阻止浏览器对 GET 上的表单值进行 url 编码

转载 作者:技术小花猫 更新时间:2023-10-29 12:48:14 25 4
gpt4 key购买 nike

我有一个带有 method="get" 的表单。在表单中,我需要传递 CSS 文件的 URL,但它会将其编码为 http%3A%2F%2Fwww...

有没有办法在破坏文件时停止对 URL 的编码。

谢谢

最佳答案

背景

它比人们第一眼看到的要微妙一些。对于作为 URI 标准的特定形式的任何 URL,某些字符是特殊的。特殊字符包括 `:`(方案分隔符)和 `/`(路径或层次结构分隔符),以下是 [RFC-2396][1] 中保留符号的完整列表:
reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |              "$" | ","

它与安全性关系不大,更多的是简单地遵循一个标准:这些符号在任何 URI、URL 或 URN 中都意味着一些特殊的东西。当您需要将它们用作路径或查询字符串的一部分时(GET 请求为您创建一个查询字符串),您需要对它们进行转义。转义的简短版本是:将 UTF-8 字节作为十六进制,并在它们前面加上 % 符号。对于保留字符,它始终是 UTF-8 中的单字节字符,因此转义为两个十六进制数字。

解决方案路径

回到你的问题。你没有提到你使用的是什么语言。但是任何适用于互联网的语言都有一种编码或解码 URL 的方法。有些具有解码整个 URL 的辅助函数,但通常您最好将其拆分为名称/值对,然后对其进行解码。这将为您提供所需的绝对 URL 路径。

注意:最好始终解码查询值,因为当人们输入一个值时,他们不知道该值是否被保留,浏览器会为您编码。不这样做会带来安全风险。

编辑: 当您需要在页面内而不是在服务器端解码时,您将需要 JavaScript 来完成这项工作。看看this page用于编码/解码 URL,或使用 Google 查找许多其他内容。

关于html - 如何阻止浏览器对 GET 上的表单值进行 url 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com