如何通过PHP伪造URL检测


how to fake url detection by php

>im 正在处理脚本,用于通过用户发送的 URL 索引和下载整个网站

例如,当用户提交像 http://example.com 这样的域时,我将复制索引页面中的所有链接并下载其内部链接并从第一个开始.....

我用 curl 和正则表达式来下载和提取链接

然而一些黄色网站正在制作虚假网址,例如,如果您访问 http://example.com?page=12,它有一些指向 http://example.com?page=12&id=10 或 http://example.com?page=13 等的链接。这将形成一个循环,脚本无法完成站点下载

有没有办法检测这些类型的页面!?

PS:我认为谷歌和雅虎以及其他一些搜索引擎也面临这种问题,但他们的数据库很清晰,在搜索中没有显示这类数据。

有些页面可能使用 GET 变量并且完全有效(就像你在这里提到的,?page=12 和 ?page=13 可能是可以接受的)。所以我相信你在这里真正寻找的是一个独特的页面。

但是,不可能直接从他们的URL检测到这些。 ?page=12 可能指向与 ?page=12&id=1 完全相同的东西;他们可能不会。检测其中之一的唯一方法是下载它,将下载与您已经获得的页面进行比较,然后找出它是否真的是您尚未看到的页面。如果您以前看过它,请不要抓取它的链接。

此处的次要旁注:请确保阻止来自不同域的网站,否则您可能会意外开始抓取整个网络:)