как получить количество обратных ссылок для URL - PullRequest
0 голосов
/ 07 апреля 2011

Насколько я знаю, трекбек это признанный стандартный пинг для пользовательского URL, верно?

так, согласно this как я могу получить, сколько трекбеков для http://example.com/article/22/name-article??и URL этих «трекбэков»?

Я никогда не работал с ними раньше, если возможно, я хотел бы узнать, как в PHP или, если возможно, в js,

любой совет илиподсказка будет приветствоваться

1 Ответ

1 голос
/ 07 апреля 2011

Вы должны определить точку входа на всех ваших страницах, которая будет принимать все запросы на возврат.Спецификация 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 - это точный 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 в PHP

...