再次升级micolg的留言验证,防止垃圾评论

2009年10月12日 15 条评论

最近发垃圾评论的实在太猖獗了,gae提供的图片模块又没法支撑captcha的能力,个人又不太喜欢直接删除所有纯英文评论的做法,其它的验证码服务搭建起来会使micolog依赖性增强,再加上我懒…

一系列原因,导致我今天做了个小升级,看是否有效果。原理是根据文章id与访客的ip地址生成一个随机数加在网页中,访客通过网页留言的话是正常的,但如果通过工具进行留言,就必须每次重新获取一下随机数。为了增加工具的门槛,以后需要在页面上增加一个js来对随机数混淆,先放上这个简单的看看效果如何:)

blog.py中把这两个类列出来,就不多说了

[code lang='python' style='vs']

class SinglePost(BasePublicPage):
    @cache()
    def get(self,slug=None,postid=None):

        if postid:
            entries = Entry.all().filter("published =", True).filter('post_id =', postid).fetch(1)
        else:
            slug=urldecode(slug)
            entries = Entry.all().filter("published =", True).filter('link =', slug).fetch(1)
            if not entries or len(entries) == 0:
                return self.error(404)

        entry = entries[0]
        addReadTime(entry)
        makeHighlight(entry)

        comments = Comment.all().filter("entry =",entry)
        commentuser = ['','','']
        checknum = random.randint(1, 100000)
        memcache.set(str(entry.key())+self.request.remote_addr, str(checknum), 900)

        tpl_vars = {
            'entry':entry,
            'relateposts':entry.relateposts,
            'comments':comments,
            'user_name':commentuser[0],
            'user_email':commentuser[1],
            'user_url':commentuser[2],
            'checknum':checknum
        }

        if entry.entrytype=='post':
            self.render('single', tpl_vars)
        else:
            self.render('page', tpl_vars)

 

class Post_comment(BaseRequestHandler):
    #@printinfo
    def post(self,slug=None):
        useajax=self.param('useajax')=='1'
        name=self.param('author')
        email=self.param('email')
        url=self.param('url')

        key=self.param('key')
        content=self.param('comment')
        checknum=self.param('checknum')

        saved_checknum = memcache.get(key+self.request.remote_addr)
        if (not saved_checknum) or (str(saved_checknum) <> checknum):
            if useajax:
                self.write(simplejson.dumps((False,-102,_('Checknum not correct .'))))
            else:
                self.error(-102,_('Checknum not correct .'))
            return
        memcache.delete(key+self.request.remote_addr)

        content=content.replace('\n','<br>')
        content=myfilter.do_filter(content)
        name=cgi.escape(name)[:20]
        url=cgi.escape(url)[:100]

        if not (name and email and content):
            if useajax:
                self.write(simplejson.dumps((False,-101,_('Please input name, email and comment .'))))
            else:
                self.error(-101,_('Please input name, email and comment .'))
        else:
            comment=Comment(author=name,
                            content=content.replace('^~','<img src="http://' + g_blog.domain + "/static/images/icons/icon_").replace('~^','.gif" />'),
                            email=email,
                            entry=Entry.get(key))
            if url:
                try:
                    comment.weburl=url
                except:
                    comment.weburl='http://'+url

            #name=name.decode('utf8').encode('gb2312')

            info_str='#@#'.join([urlencode(name),urlencode(email),urlencode(url)])
            logging.info("info:"+info_str)
            #info_str='#@#'.join([name,email,url.encode('utf8')])
  
60;         cookiestr='comment_user=%s;expires=%s;domain=%s;path=/'%(info_str,(datetime.now()+timedelta(days=100)).strftime("%a, %d-%b-%Y %H:%M:%S GMT"),'')
            comment.save()
            memcache.delete("/"+comment.entry.link)

            self.response.headers.add_header('Set-Cookie', cookiestr)
            if useajax:
                comment_c = self.get_render('comment',{'comment':comment})
                self.write(simplejson.dumps((True,comment_c.decode('utf8'))))
            else:
                self.redirect(self.referer)

[/code]

最后,要记得更新你的comments.html文件,提交的form里面带上checknum

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/10/12/upgrade-again-micolg-message-authentication-to-prevent-spam-comments.html
---------------------------------------------------------------

分类: micolog 标签:

冲动是魔鬼

2009年10月10日 9 条评论

昨天中午吃饭时候临时起意,想换个机身,就发贴到蜂鸟上了,想着至少得1个月才能卖出去吧…没想到,下午就有两个人打电话过来说要买,也不能说不卖啊。一个哥们跑过来就给买走了…

现在没相机用了,感觉郁闷了….

听说tt决定要每月买100元的彩票,身边越来越多人要尝试这个玩意了啊。不过咱要是像河南彩民那样,中个3亿,相机就有着落了嘿嘿。囧,不说这没谱的事了….

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/10/10/impulse-is-the-devil.html
---------------------------------------------------------------

分类: 生活 标签:

用户浏览器比重

2009年9月30日 8 条评论

ie6的占有量仍然在70%以上,略有几乎察觉不到的小降。ie外壳中,Maxthon占首位,但也只有5%的比例,绝大多数人还是使用xp(90%)并直接ie上网的。

firefox各版本加起来占1%,70%用户的插件个数在6至15个之间。另外插件有增多的趋势。

chrome的占有量接近firefox的三分之一,其实这玩意速度还挺快的,就是功能太弱小了,不支持插件。

98%用户使用的是中文系统,其它语言的几可忽略不计。

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/30/the-proportion-of-the-useru002639s-browser.html
---------------------------------------------------------------

分类: 互联网, 软件 标签:

windows mobile 7

2009年9月28日 4 条评论

鲍尔默:我们搞砸了Windows Mobile 7 ,按照微软最初的计划windows mobile 7是在08年底发布的,可直到现在,连6.5还没有正式版,大家玩ppc刷rom,都是从各大论坛上直接下载,从来没有听到过微软的声音。面对google与apple对ppc市场的抢夺,微软也只能是对自己懊恼不已。

这个市场,是不是可以转变一下了呢?pc市场的模式不是挺好的么,既然硬件设备多数都是多普达生产的,体系结构差别不大,为什么不给用户自己选择操作系统的权利呢?操作系统厂商们面向个人用户发行os,厂商也可以提供驱动下载,我买了硬件,喜欢谁的操作系统都可以,这样才会让大家感觉更好吧。

趣闻:

一个微软的同学给两个boss演示他做的项目,不幸的是他的主页设置了google,打开浏览器的瞬间,一个boss惊呼:”wo,google!“,另外一个则问:”你的iPhone在哪里?“

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/28/windows-mobile-7.html
---------------------------------------------------------------

分类: 生活, it 标签:

看来骗子都是聪明人啊

2009年9月27日 3 条评论

淘宝3G无线上网卡诈骗事件的真相讲述了骗子们运用高科技手段在淘宝上行骗的故事,骗子们展示了发现挖掘地方漏洞的本领,炒作信誉或者盗窃店家账号的能力,以及下本钱搞诈骗的决心。

其实搞这个的没准就是某个批发市场卖复制卡的农民,或者就是刷信誉的某个团队。劳动人民估计都不会向这个方向想…

不要禁锢自己的思想啊,虽然中国几千年来都采用愚民政策,但不见其实我国也人才辈出么?套现,刷信用,钓鱼,靠别人捐钱买车…邪门歪道,擦边球才显智慧

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/27/it-seems-fraudsters-are-clever-people-ah.html
---------------------------------------------------------------

分类: 电子商务 标签:

firefox加速软件speedyfox

2009年9月26日 2 条评论

今天用了一下speedyfox,效果还不错,加入我的常用小软件列表了,嘿嘿

它是一个300k左右的exe程序,不是firefox插件,目前貌似只支持windows,推荐大家尝试

btw:有怪癖没办法,升级blog后,把所有包含代码的页面都重新编辑了一下…

---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/26/firefox-speed-up-the-software-speedyfox.html
---------------------------------------------------------------

分类: 软件 标签: