bit*_*inn 5 javascript url encoding mongodb node.js
我的问题有点奇怪,但让我解释一下:
\n\n假设有效的 URI 不允许使用 RFC-2396 的 unicode,则 URI 中的所有 unicode 应使用百分比编码进行转义。
有效的 URL 应该是有效的 URI,因此我们应该在发出请求或放入它们时使用http://example.com/%E4%BD%A0%E5%A5%BD而不是(尽管大多数浏览器可以处理后一种情况)。http://example.com/\xe4\xbd\xa0\xe5\xa5\xbdhref
此外,我们接受用户提交的 URL,这些 URL 也经过编码(因为当您从地址栏复制 URL 时,浏览器会对它们进行编码)。
因此我们决定(可能是一个错误)将它们存储为http://example.com/%E4%BD%A0%E5%A5%BD,而不是http://example.com/\xe4\xbd\xa0\xe5\xa5\xbd,毕竟,这是原始输入和正确的 url。
当我尝试显示此类 URL 时,我的问题就出现了,鉴于它们是用户提交的,我需要对这些数据运行 xss 过滤器。某些实现(例如xss-filters)似乎将encodeURI作为过滤器的一部分运行,这意味着%将进行双重编码,例如。%E4-> %25E4,在此过程中破坏 url。
那么我们是否应该以解码的形式存储 url(即使它们是无效的)?decodeURI对我来说,在输出上运行没有多大意义......
| 归档时间: |
|
| 查看次数: |
1532 次 |
| 最近记录: |