![]() |
1
2
一个HTML页面的独特指纹很容易计算。从以下项生成哈希:
可选部分标题:
这假设您没有向页面发布任何数据。 |
![]() |
2
1
如果不检查主机的IP,您甚至不能确定1%。 接下来是加密。(如果没有这一点,你就可能成为ARP中毒的受害者(仅限于局域网)。 HTTPS中的密钥必须始终相同。 如果更改,则表示有人在作弊或密钥得到更新(密钥具有到期日期)。 |
![]() |
3
1
页面的指纹是主机名、端口和路径。这是唯一能保证在网络上独一无二的东西。我想您还可以包括缓存头(最后修改的)来查看它是否发生了变化。 除此之外,如果对HTML进行哈希处理,即使最后修改的标题发生了更改,也可以看到它是否发生了更改。 |
![]() |
4
1
假设您想存储HTML页面的“指纹”,以便以后识别它 确切地 匹配,只需使用HTML页面的简单哈希摘要。 除非您更清楚地阐明这个问题,否则我看不出为什么它应该与HTML或它所在的浏览器有关。 但是,这不会告诉您页面是否在同一位置。为此,您需要存储其他详细信息,如主机/IP和路径。 |
![]() |
5
1
如果你能得到这两个页面的文本版本,你就可以对它们进行区分。您可以确定页面差异可接受的最大范围。 有一个Unix实用程序(称为diff)。这个工具的win32版本也在网络上浮动。维基百科有一篇关于diff的文章: http://en.wikipedia.org/wiki/Diff . wiki文章列出了免费的文件比较工具,“另请参阅”部分提供了指向讨论文件比较工具和增量编码的其他文章的链接。 “Levenshtein距离度量”也可能是一种有趣的方法。 代码项目中有一个不错的C差分引擎。由于我的缺点,我不能发布另一个链接,但文章标题是:“C中的通用、可重用的diff算法”。 |
![]() |
6
1
即使您有确切的主机名、端口和路径,如果有一个应用服务器为网页提供服务,或者Web服务器正在插入广告内容,那么内容仍然可能不同。 如果您能够可靠地识别HTML中动态的部分(如保持更新的广告或时间戳),那么我将首先规范化数据。我会去掉所有空格字符(空格、制表符、换行符),然后对这些内容进行散列。 我愿意 不 在哈希中包含主机名端口路径,因为这不会给“指纹”添加任何内容。(该信息在以后需要重新查询Web服务器以比较HTML时很有用。) |
![]() |
Farid · 限制django每个客户的访问 2 年前 |
![]() |
josegp · 在Nmap中-p-tag是什么意思 2 年前 |
![]() |
kramer65 · 如何根据网站用户在S3上添加非公共网站文件? 6 年前 |
|
derf26 · 如何阻止React Web包包含包中的脚本。json 6 年前 |
|
user8663960 · 最好也是最简单的方法是保护登录表单的安全 6 年前 |