【问题标题】:how to retrieve number of trackbacks for a URL如何检索 URL 的引用数量
【发布时间】:2011-04-06 23:43:28
【问题描述】:

据我所知,trackback 是公认的自定义 URL 的标准 ping,对吧?

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

我以前从未与那些人合作过,如果可能的话,我想知道如何使用 PHP,或者,如果可能,使用 js,

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

【问题讨论】:

    标签: php javascript trackback


    【解决方案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>
    

    &lt;rdf:RDF&gt;&lt;/rdf:RDF&gt; 是您声明此页面使用引用的位置,&lt;rdf:Description /&gt; 中的参数特定于您的页面。 dc:identifier 是您的确切页面 URL,trackback:ping 是 Trackback 入口点。

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

    我做了这个非常简化的 Trackback 入口点:

    <?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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 2011-11-06
      相关资源
      最近更新 更多