representation - 规范表示是什么意思,及其对网站的潜在漏洞

标签 representation canonicalization

我在Google上搜索了规范表示的含义,然后发现文件太含糊了。谁能提供规范表示的快速解释,以及网站中典型表示攻击的一些典型漏洞是什么?

最佳答案

规范化是您接受输入(例如文件名或字符串)并将其转换为标准表示形式的过程。

例如,如果您的Web应用程序仅允许访问C:\websites\mydomain下的文件,那么通常将任何引用文件名的输入规范化为物理直接路径,而不是使用相对路径的输入。如果要打开C:\websites\mydomain\example\example.txt,则该函数的一个输入可能是example\example.txt。如果这超出了您网站的边界,将很难解决,因此规范化功能将查看应用程序目录,并将该相对路径更改为物理路径,即C:\websites\mydomain\example\example.txt。显然,这很容易检查,因为您只需在文件路径的开头进行字符串比较即可。

对于HTML输入,您可以采用%20之类的输入,并通过取消编码对其进行规范化,因此这将变成一个空格。这是一个好主意,因为有许多不同的编码方式,规范化意味着您将只检查解码后的字符串,而不是尝试覆盖所有编码变体。

基本上,您正在接受逻辑上等效的输入,然后将其转换为标准格式,然后可以对其进行操作。

关于representation - 规范表示是什么意思,及其对网站的潜在漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1167371/

相关文章:

c++ - Visual C++ 编译器如何表示短类型?

coldfusion - 规范化 CF9 的替代品

java - 如何规范化 Java 中的 WSDL 文件?

c# - c#中 boolean 值的二进制表示是什么

c - 以十六进制表示 Z/2 Z 中的多项式

audio - 使用 float 时,用于表示音频样本的值的范围是多少

list - 方案:这两个列表是否具有相同的内存表示?

java - 在 JAVA 5 中生成规范 XML 的库?

java - JAVA 1.5 中的 XML 规范化

json - 如何加密散列 JSON 对象?