TypeCodes

再议wordpress反垃圾评论:都是strpos函数惹的祸

1 strpos函数引起的失误

前天写了一篇文章《wordpress关键词黑名单:反垃圾评论再升级》。文章内容是关于如何通过在Willin Kan大神写的comments-ajax.php文件中添加关键词黑名单,实现对评论者的昵称和评论内容进行检测,最终判定是否为垃圾评论。在程序中,博主使用了strpos函数,其功能是:查找字符串首次出现的位置。由于对该函数了解不全,上午 @坏坏博客 童鞋一个邪恶测试,发现了上篇文章代码的BUG。晚上下班回来,仔细看了下代码,发现是自己对strpos函数的片面认识,因此做个笔记Mark一下。

- 阅读剩余部分 -

wordpress关键词黑名单:反垃圾评论再升级(非插件)

1 老话题:wordpress垃圾评论

wordpress垃圾评论由来已久,在各位博主的有力反抗下,垃圾评论完成了一次又一次的升级。对wp新手来说,肯定不会想到自己的博客会被spam盯上。甚至还可能真认为是某老外关顾了自己的文章(博主曾经就二逼的用英文回复过)。等垃圾评论越来越多时,才仿然大悟。对于一些用wp时间也比较长的博主来说,一些与文章话题无关的评论也是很烦人。为了增强wordpress免疫力,尽量从根源上解决wordpress博客中的垃圾评论,博主也不能闲着,下面就贡献小小的一份力量。

- 阅读剩余部分 -

PHP+jQuery实现wordpress当前在线人数统计

1 在线人数统计:插件OR代码

如何实现一个web站点的在线人数统计?方法可能有很多,在最开始接触PHP的时候,大家可能会用session保存当前用户的IP地址和时间;也有人把登录用户的IP地址和登录时间保存到数据库中,然后在需要的地方查询数据库得到相应的数据;当然还可以用txt、html等文件来保存用户的IP和最初登录的时间,然后不断读写文件取得数据;最后,还可以用cnzz等统计方代码或者WP插件通过加载javascript脚本显示当前在线人数。

2 用PHP+jQuery实现

网上搜了下相关的教程,代码基本类似,都是直接通过PHP读写txt文件实现的。博主起初采用这种方法,发现页面加载较之前明显变慢。考虑到不断读写文件对页面速度的影响,博主于是改用jQuery加载的方式实现当前在线人数统计。具体方法如下:

- 阅读剩余部分 -

wordpress中限制没有Gravatar头像的访客提交评论

1 为何限制没有Gravatar头像的访客

前几天博主就一直在想着是否要限制没有gravatar头像的用户在博客留言,主要原因有三点:

1、博客使用的是wordpress程序,而Gravatar早在07年就被Automattic公司收购并在wp程序上发扬光大。所以,wp博客和gravatar头像天生就是一对,当然要让他们在一起了。

2、屏蔽广告。很多spamer都是没有gravatar头像的,限制没有gravatar头像的访客就等于过滤掉了相当一部分的垃圾广告。扯远一点,多说插件为众多广告商做出了巨大贡献。

- 阅读剩余部分 -

集齐腾讯开放平台的所有API接口权限

1 申请到第一个腾讯开放平台应用

在2012年6月份的时候,博主当时跟风申请了一个腾讯开放平台的应用。这个时候博客刚建立不久,而且当时腾讯开放平台的API授权还用的是Oauth1.0,集中在discuz论坛登录应用。所以,这个应用也一直荒废着。到今年8月底,博主看到各个云平台都打得火热,于是也想试试。因此就琢磨着申请将这个应用上线(虽然一点代码都没写)。

2 申请将应用上线

记得第一次腾讯把申请上线的应用给退了回来,原因大致是“QQ登录不规范”。应该是因为我就在wordpress后台的登录页面添加了一个QQ登录的图标,然后腾讯不同意。于是又找到官方文档(http://wiki.connect.qq.com/网站前端页面规范),细细看了一遍,最后改用了腾讯官方提供的JS SDK开发包方式放置登录按钮。只需简单两步就可以实现常见的QQ登录方式,这也是JS SDK开发包的优势所在。

- 阅读剩余部分 -

折腾comment-ajax造成wordpress后台页面空白的BUG

1 折腾Willin Kan评论代码的一个“BUG”

前几天折腾了下Willin Kan的comment-ajax.php文件,改动了一些代码,结果博客好几天都没收到评论了。昨晚上还在纳闷,会不会是文章写得太烂了又或者是360的节点挂了?反正是百思不得其解。随便翻看着之前写的文章,突然想到了自己前几天修改了comment-ajax.php文件。会不会跟这个有关?赶紧UE打开看看!比较了下之前备份的comment_parentnt-ajax.php文件,发现最新的这份PHP文件中多出了下面几行代码。这个和前几天发现的一个BUG有关:查看了大多数有用Willin Kan大神的评论代码(comment-ajax.php、comment-ajax.js)的博客,只要在文章地址后面添加类似“?replytocom=1123'”的语句就会出现“BUG”(还在研究解决中,不多说了……)。

if($post->comment_parent == ""){ exit; //直接退出,不给出提示 }

- 阅读剩余部分 -

上线第一个腾讯开放平台的API应用:收听微博用户(Beta版)

经过近段时间的努力,博主研究的腾讯开放平台API接口终于有所“突破”了。今天正式上线第一个测试版的接口应用:收听腾讯微博用户。先上效果图(也是add_idol接口调用的整个流程),希望大家提提意见。

1 add_idol接口调用流程

(1)点击博客右侧栏的“腾讯微博”图标,准备接口调用。

腾讯API调用接口

- 阅读剩余部分 -

PHP中的cURL请求及示例

最近在学习腾讯开放平台API接口的过程中,看到了一个很强大的PHP库——cURL。它是利用URL语法在命令行方式下工作的文件传输工具。这篇文章是博主直接从国外一个博客翻译过来的,原文地址是:http://codular.com/curl-with-php。这篇文章讲的很基础,但条理很清晰,知识比较系统和全面,所以转过来收藏了!(下面的有些标题是博主画蛇添足的,大家近乎可以忽略。)

1 定义:什么是cURL

cURL允许数据传输跨广泛的协议,是一个非常强大的系统。它广泛用于跨网站发送数据,包括诸如API交互和oAuth。cURL是在它的应用范围内几乎是无所不能的,从基本的HTTP请求,到更为复杂的FTP上传或封闭式HTTPS网站的交互验证。让我们一起来看看发送一个GET和POST请求和处理返回的响应的简单区别,以及一些重要的参数说明。

- 阅读剩余部分 -