2010-07-19 58 views
2

我有一个Rails应用程序,要求用户在提交来自该网站的链接之前验证自己拥有网站。简化验证网站所有权的方法(使用javascript?)

我已经实施了一个网站验证系统,该系统的工作得益于给予a question I made several months ago的答案。这个系统可以工作,但对用户来说很麻烦。它要求他们使用网址的特定验证码在其网站上创建网页。我觉得我要求用户跳过许多箍环来将他们的页面提交到我的网站。然而,网站验证至关重要,而且我无法放弃这个功能,不过很麻烦。

我正在创建一些JavaScript代码,这将有助于验证网站。当用户安装插件时,他们只需点击Web应用上的“验证”,即可完成所有工作。他们不必为创建新网页而删除它而烦恼。

我有如何开始一个微弱的想法...

步骤一:将JavaScript代码放置在网站(的谷歌分析代码的简化版本)上:

 "<script type='text/javascript' id="THE VERIFICATION CODE GENERATED BY THE RAILS APP"> 

      (function() { 
      var secondScript = document.createElement('script'); 
secondScript.type = 'text/javascript'; 
      secondScript.src = 'http://www.mywebapp.com/verify.js'; 
      var firstScript = document.getElementsByTagName('script')[0]; firstScript.parentNode.insertBefore(secondScript, firstScript); 
      })(); 

     </script>" 

在第二个脚本(verify.js):

//find some way to ensure that the first script has an id of "VERIFICATION KEY" 
//if so, return some data that the rails app can understand and verify the site 

任何想法?

+2

也许我失去了一些东西,但我看到的唯一的区别是,你将有店主把一个Javascript在其网站上,而不是普通的HTML中。这是如何更容易? – Karl 2010-07-19 20:03:06

+0

在我的应用程序的当前版本中,用户必须使用验证密钥创建网页。所以如果验证密钥是。 “234203fjjoijdf09”,那么网页将是:http:// examplesite。com/234203fjjoijdf09 我遇到的问题是这样的:不同的CMS系统与网址做不同的事情,有时没有与他们创建的网址和我的Rails应用程序要验证的网址匹配。另外,我注意到一些用户在我的网站上注册,并且在他们必须验证时决定不继续。 – 2010-07-19 20:09:41

回答

1

还有其他方法可以验证网站的所有权。许多公司会向该域名的注册人发送电子邮件。创建一个具有特定名称的文件。将一段特定文本放入索引页面的标题中。我认为你上面尝试的方式比它需要的更复杂。任何网站管理员都很容易创建具有特定名称和特定内容的文件。我为不同的工具做了很多次。

不出汗:-)

+0

网站管理员很容易上传文件,但是那些拥有指向类似Tumblr博客的域名的人呢?他们根本无法以上述方式上传纯文本文件... – swilliams 2010-07-19 20:11:05

+1

正确,但是他们可以轻松地将某些内容放在特定页面上。我自己已经为WordPress的博客做了这个。让他们把这样的代码: '

' – godswearhats 2010-07-19 20:27:56

+0

因此,该应用程序将使用屏幕刮板来确保验证字符串在那里? – 2010-07-19 20:32:24

2

这是一个非常有趣的问题,但我不知道是否有一个很好的解决方案,你正在寻找。换句话说,我不认为你可以创建某种自动化工具来上传第一步中的脚本。

你不能假设他们有FTP访问或SSH访问;一些网络主机可能会禁止这些事情。你不能假设他们已经安装了某种'软件包'来进行通信,甚至无法安装这种软件。

可能工作(但仍然有它自己的一套问题)的一件事是做一个whois查找和发送电子邮件的记录与确认链接的网站的所有者......当然,这是假设whois是列出,他们没有提供虚拟电子邮件。

Google帐户通过执行文件上传操作来检查域所有权,或者让用户在网站上创建自定义子域(CNAME)。当然,如果你的用户在上传单个文件时遇到了问题,那么CNAME的东西可能就没有问题了。

+0

嗯,我想问题是,我必须让用户在验证他们的网站时值得。 Google Analytics是一项非常实用的服务。足够有用的第三方撰写详细的博客文章,以了解如何在任何类型的网站上进行设置。 也就是说,为我的WordPress博客设置谷歌分析只需要我下载一个插件并点击“激活”。我希望有一种方法可以让我的网站变得简单。 – 2010-07-19 20:16:45