RSS不是很了解,但是感觉分析你的access日志比较靠谱

解决方案 »

  1.   

    访问你的rss时,你就可以获取到用户的ip,os,browser信息了。
    例如,有个rss.php
    <?php
        $ip = $_SERVER['REMOTE_ADDR'];
        $ua = $_SERVER['HTTP_USER_AGENT'];    file_put_contents('access.log', $ip.' '.$ua."\r\n", FILE_APPEND); // 这里可以改为写数据库header('content-type:text/xml;charset=utf8');
    echo '<?xml version="1.0" encoding="utf-8" ?>
    <rss version="2.0">
    <channel>
        <title>傲雪星枫</title>
        <image>
        <link>http://blog.csdn.net</link>
        <url>http://static.blog.csdn.net/images/logo.gif</url>
        </image>
        <description>世外悠悠隔人间,不忍凄凄乱世烟。</description>
    <link>http://blog.csdn.net/fdipzone</link>
    <language>zh-cn</language>
    <generator>http://blog.csdn.net</generator>
    <ttl>5</ttl>
    <copyright><![CDATA[Copyright &copy; fdipzone]]></copyright> 
    <pubDate>2014-3-18 23:19:14</pubDate>
        <item>
            <title><![CDATA[[原]使用C创建php扩展]]></title>
            <link>http://blog.csdn.net/fdipzone/article/details/20870343</link>
            <guid>http://blog.csdn.net/fdipzone/article/details/20870343</guid>
            <author>fdipzone</author>
            <pubDate>2014-3-16 16:07:34</pubDate>
            <description><![CDATA[内文]]></description>
            <category></category>
        </item>
    </channel>
    </rss>';
    ?>
      

  2.   


    谢谢。能不能辨别出,是其他网站服务器的自动程序订阅?还是个人浏览器,或者RSS阅读器打开?
      

  3.   

    看$_SERVER['HTTP_USER_AGENT']應該可以。
    谢谢。能不能辨别出,是其他网站服务器的自动程序订阅?还是个人浏览器,或者RSS阅读器打开?
      

  4.   

    如果是curl 设置了USER_AGENT呢?有没有办法从IP地址分析?像百度之类的不是有IP查询的吗?可以查询出是服务器还是家里地址?
      

  5.   

    如果是curl 设置了USER_AGENT呢?有没有办法从IP地址分析?像百度之类的不是有IP查询的吗?可以查询出是服务器还是家里地址?$_SERVER['HTTP_USER_AGENT'] 可以模擬的,不可能很準。
      

  6.   

    就是啊,最好还是IP地址,IP地址很难模拟,因为代理IP地址今天可以用,明天说不定就失效,订阅RSS的人,没有必要用代理IP来访问RSS。所以最好能够通过第三方的API,判断IP是服务器还是个人,就好了……