自从2014年11月01日总结了第三阶段折腾记录以来,一直修修改改也没好好记录下。今天终于实现了一个想了很久的亲民、贴心功能-->展示导航专属收藏夹。所以,在宣传发布这个功能的同时记录下第四阶段,中国博客联盟又有了哪些新的变化。 一、专属收藏 ①、何为专属收藏? 有心的朋友可能在中国博客联盟的会员中心以及前台都看到过一个“收藏”的功能: 在我制作成员展示导航的时候,就曾经想过,能否为每个荣誉博客定义一个专属的栏位,显示该成员自己收藏的博客呢?无奈我个人的时间和能力都有限,因此就丢在一旁了。昨天晚上突然又想到了这个功能,并且在睡觉时将实现逻辑都过了一遍。所以用了小半个上午,搞定了。 ②、实现原理 具体如何实现我也没必要详细记录了,原理很简单,就是通过博客的调取导航时产生的$referr请求,通过$referr正则筛出博客域名,从而知道这个博客对应的会员ID,最后再从数据库调出他收藏的博客信息,如果还没收藏,则给出未收藏显示。 ③、如何使用? 要使用这个功能,你的博客先得部署一个公用导航。然后前往中国博客联盟收藏你喜欢的博客。 假如你比较喜欢张戈博客,那么就到中国博客联盟前台搜索并找到“张戈博客”,然后点击收藏即可: 当然 ,为了方便收藏,我还在博客详情页加了一个收藏按钮: 你只要在登陆状态下去点击收藏,那么该博客就会进入你的收藏夹了。那么你博客所调用的成员展示导航,就能看到相应的博客列表了,比如: 我收藏的博客如下: 那么在张戈博客留言板的展示导航显示如下: 来,实时走一个看看: 如果该荣誉博客还未收藏过任何博客,则如下显示: 如果你在某个荣誉博客看到这种提示,那么可以留言提醒下博主去收藏你的博客啦! 二、失效通知 第三阶段,博客联盟新增了荣誉博客巡查验证机制,系统不定期会检查荣誉博客的导航或友链是否还在,如果不在了,就会取消该博客的荣誉博客称号。 不过,取消时只会通知管理员,而并不会通知博主。在技术上来说,主要是此功能未涉及到用户的数据表,所以没法获取用户的邮件。此次我修改了代码,将用户数据表加入联合查询,从而得到了用户注册时填写的邮件。 一旦该博客的荣誉验证失败,系统将同时通知管理员和用户,其中用户将收到如下邮件: 当你收到这种邮件,请查看认证地址的导航或友链是否正常存在,若确实存在,请刷新一次该页面即可重新获取荣誉博客称号!实在不行,请即时留言反馈,以便管理员修复! 三、网站图标 网站图标自从谷歌大姨妈之后,就一直用着SaNy博主使用python搭建的图标API接口。前段时间,总是有人反馈图标加载很慢,最后自己花心思用PHP搭建了一个同样功能的网站图标获取API,源代码由幻杀博客推荐,再经过我多次修改完善,比SaNy博主的更加简单好用! 具体代码回头我会在张戈博客分享,有兴趣的可以自行搭建试试!下面说下具体改变。 ①、最大图标限制为24k,超过这个值将显示默认图标; ②、为了提高加载速度,取消非荣誉博客页面的图标; ③、添加本地缓存、云加速CDN缓存,最大程度的提高了加载速度; ④、添加图标Ajax删除/刷新功能(但云加速存在一小时缓存); ⑤、理论上支持301跳转网页的抓取,但并未实际测试。 Ps:这是一个公用接口,你可以自由使用,让博客友链不再单调。 图标API地址:http://seo.zgboke.com/geticon/ 四、底部推荐 用心的朋友应该发现了中国博客联盟底部已经集成了和张戈博客类似的滚动条了,可以随机推荐一些荣誉博客,并且集成了友好对话框: 对话框对用户昵称的判断,来自张戈博客的cookies,这里用到了php+ajax+js跨域操作cookies的技术,回头有时间我会在张戈博客整理分享下具体实现的思路和代码。 五、防刷机制 展示导航中的荣誉博客是通过页面访问先后来排名的,如果有人用脚本等工具恶意刷新的话,他就会一直排在第一位。虽说联盟成员的人品都非常好,但是还是出现过几次恶意刷新的情况。不过CNZZ都有记录,作弊也逃不过我的检查。 此次改善,通过PHP的Session判断,给导航添加了一个简单防刷机制。每一个访问会话只能对一个荣誉博客产生一次排名效果,从而起到简单的防刷效果,多次访问则自动过滤。 当然,任何机制都不可能完美,总是有办法破解!但是,只要有人恶意刷排名,我肯定能察觉,并进行拉黑处理!所以,有这种小九九的朋友,建议用于你的网站建设上! 六、其他完善 第三阶段折腾了很多功能,所以不时会发现一些BUG,比如:积分逻辑错误、正则验证不完善以及无法抓取301地址等。此次基本上一并修复了,若您在使用过程中发现任何BUG,请即时跟张戈反馈,以便完善之,多谢! 第四阶段修修改改也非常频繁,所以一时间可能漏掉了许多,后续想起来了再来记录好了。 最后通知下:各个荣誉博客的博主请及时收藏自己中意的博客哟!
