如何检索URL的引用数量

时间:2011-04-06 23:43:28

标签: php javascript trackback

据我所知,它是自定义网址的公认标准ping,对吗?

所以,根据this我怎样才能检索http://example.com/article/22/name-article有多少引用?以及那些'引用'的网址?

我以前从未和那些人合作过,如果有可能我想知道如何在PHP中,或者如果可能的话,在js中,

任何提示或线索都会好受欢迎

1 个答案:

答案 0 :(得分:1)

您必须在所有页面中定义一个将接收所有引用请求的入口点。 Trackback规范是这样做的:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <rdf:Description
        rdf:about="http://www.foo.com/archive.html#foo"
        dc:identifier="http://www.foo.com/archive.html#foo"
        dc:title="Foo Bar"
        trackback:ping="http://www.foo.com/tb.cgi/5" />
</rdf:RDF>

<rdf:RDF></rdf:RDF>在哪里声明此页面使用引用并且<rdf:Description />中的参数特定于您的页面。 dc:identifier是您的确切页面网址,trackback:ping是引用入口点。

作为客户端语言,JS无法存储每个页面的引用计数,因此trackback:ping应该是一个PHP脚本,用于检查请求查询中的title和将它存储在某处(数据库,文件,日志...)

我制作了非常简化的引用入口点:

<?php
    $theUrl = $_GET['url'];
    if (!$theUrl) {
        printError(NO_URL);
        die();
    }
    $theUrl = Sanitize::clean($theUrl, SQL) // Your anti-SQL injection method
    $theId = getIdFromUrl($theUrl);
    countIntoDataBase($theId); 
?>

最后但同样重要的是,要记住Trackback协议非常容易出现垃圾邮件,因为这个答案表明:Trackbacks in PHP