我有一个项目,我希望能够从他们的博客或其他内容生成源监视用户的RSS源,但我需要以某种方式验证他们实际拥有RSS源并且不仅仅指向其他人的博客或内容。有没有办法在Feed本身上执行此操作,例如Feed中的<meta>
部分?我的另一个想法是强迫此人验证托管Feed的域或网站的所有权。
答案 0 :(得分:0)
我所知道的最接近标准处理方式的方法是使用<link>
和rel="me"
。 Google Buzz使用此方法。基本上,你在Feed中有这样的东西:
<link rel="me" type="text/html" href="http://www.google.com/profiles/username"/>
这表示Feed与http://www.google.com/profiles/username
属于同一个人。您可以将多个link
元素与rel
相同,这样您就可以在同一个Feed中链接到多个用户个人资料(通常是多个服务上同一个人的个人资料)。
另一种方法是要求用户在其Feed的正文中放置一个随机魔术标记。此令牌只需要存在一次获取,因此一旦您的服务确定他们拥有该Feed,用户就可以将其删除。我认为这种方法可能已被Feedburner使用。这种方法的问题在于它可能被聚合用户生成内容的提要滥用。例如,恶意用户可以声称拥有评论供稿或wiki更改日志供稿非常容易。要求魔术令牌在提要描述中而不是在项目中可能是解决此问题的一种方法,尽管这可能会给没有对其提要进行低级别控制的用户带来麻烦。 (例如:某些内容管理系统或博客工具的用户)rel=me
方法也有这个问题,但至少它是标准的,所以希望CMS /博客工具的创建者可以说服添加支持rel=me
。
第三种方法是要求用户证明他们拥有域名,如您所述。这有一些问题,因为用户可能只拥有域或子域上的目录树。您不希望仅仅因为用户可以编辑某个子目录或子域上的文件而假定整个域的所有权。 “证明”URL的“目录”和主机可能应该是源URL的祖先。例如,如果我可以控制example.com/foo/proof.txt
并不意味着我拥有example.com/quux/zarf.xml
。如果我可以控制example.com/quux/proof.txt
或example.com/proof.txt
,那可能已经足够好了。