用 AJAX 实现 Blogger 页内评论

之前服务器上有 Java 环境时,一直用一个自己写的 Servlet 作为中间代理来向 Blogger 的评论页面 POST 表单数据,实现页面内的评论操作,后来转挂在朋友的 IIS 服务器下,由于对 ASP 不熟,这一功能就一度取消了。现在购买了新的 Linux PHP 服务器,因此用 PHP 重新写了一个同样功能的中间代理来实现这一功能,并且实现成了 AJAX 的模式。评论内容的读取也一样通过 Blogger Feed 的 JSON 模式读取,因此提交评论后可以立即显示出来,而不用再等待 Blogger 重新生成 HTML 页面并通过 FTP 上传这一漫长的过程。(虽然实际上后台它还是不可避免的执行了这个过程。)

经过多次测试,应该可以用了。关于 Spam 的问题,以前的验证码是直接读取的 Blogger 页面的 Captcha 图片,现在 Google 改变了表单结构以至于程序已经无法自动做这个动作。所以我取消了 Blogger 自己的 Captcha 验证,自己写了个简单的加减法验证,虽然仍然不能完全杜绝 Spam,但已经比几天前测试时裸奔的情况好多了。当时夸张到一个下午一张帖子被贴了 50 多条 Spam 评论。毕竟传说 Google 的 Captcha 也已经被破解了么,同样不能完全杜绝 Spam。 ;-)

另外,Backlink 不显示的问题也修正了。不过,经过前端时间页面恶意代码事件的影响,目前似乎已经没什么 Backlink 了…… :-(

发表评论

Login with Sina Weibo account

或者,也可以直接用下面的表单。 电子邮件地址不会被公开。

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

13 条评论

  1. 简单的讲就是用 PHP 写了个简单的程序,做这么两件事情:- 打开 Blogger 上本帖对应的评论页面,分析 HTML 代码,取得每页随机的 Token;- 将本页的评论内容和取得的 Token 一并 POST 给 Blogger 上处理评论发布的 URL;之后用 AJAX 的方式通过 Feed 地址获取新的评论内容并更新页面上的数据。

  2. 我在我的 Blogger 设定里面已经将 Captcha 关掉了,而改用这个表单里的简单加减法来 Anti-Spam。

  3. 请问你如何绕过blogger评论界面的captcha验证, 把其它数据成功提交到 comment.do的?