基于 Gloria 实现多说垃圾评论主动式过滤 v2

由于多说官方升级了API的安全性, 所以原基于 Gloria 实现多说垃圾评论主动式过滤失效, 更新此v2版本. 使用方法与先前一样, 请参考原文. const DOMAIN = 'xxx.duoshuo.com' function spamFilter(response) { let ps = response.map(x => { if (x.role_name === '游客' »


基于 Gloria 实现多说垃圾评论主动式过滤

更新: 疑似官方在安全性方面的更新, 本文的代码已于2016/11/16失效. 新的代码发布在基于 Gloria 实现多说垃圾评论主动式过滤 v2. 之前在JavaScript 字符串字母大小写组合生成这篇文章已经提到, 多说评论框服务近几个月来一直面临被评论机器人刷垃圾评论的问题. 官方的垃圾评论过滤机制毫无作用, 这几个月来的五百多条垃圾评论全是我手动删除的, 不胜其扰. 本文实现了一种用 Gloria 实现多说评论框主动式垃圾评论过滤的方法, 在继续文章之前, 需要你在Gloria.Pub安装 Gloria 的最新版本并查看教程学习 Gloria 的基本用法. 复制并编辑下方代码中的 »


JavaScript 字符串字母大小写组合生成

近一个月, 博客的多说评论框总是被一个河北IP发的黄网钓鱼链接刷屏, 除我以外, 不少多说用户表示自己也遇到了同样的情况. 多说评论框的官方似乎处于一个无人管理的状态, 官方的讨论区在几个月前就已经被广告帖刷爆, 这个评论框服务就算明天停止服务都不会显得奇怪. 多说的 WordPress 群里有人把http的各种大小写组合形式(比如hTTp, hTtP...)都列入了多说的关键词黑名单, 以此防止垃圾评论, 我自己试了一下好像没有效果...可能这个功能就是个摆设吧. 不过这个大小写的组合形式倒是引起了我的兴趣, 虽然我知道发垃圾评论的程序生成的组合肯定是随机的, 但研究一下这些组合有多少种, 该怎么输出所有的组合还是挺有意思的. 我只能想出两种可以穷举出这些组合的方式, 一种是二叉树, 一种是二进制. 不过二叉树的算法我已经不会写了(也许是时候去刷LeetCode了...), 所以就用了二进制的方式. »


基于Web Worker的Sandbox设计

最近在做的个人项目需要执行untrusted code, 现有的开源项目不是难以打包, 就是无法按预期效果运行(通常是二者兼备), 于是只好自己动手. 需要的Sandbox环境必须符合以下几项要求: 屏蔽不必要的接口 与Host环境通信 支持异步执行远程调用函数, 同时便于untrusted code的编程实现 本文的实现不包含: 对于untrusted code运行时间过长等基本问题的处理 方便自定义Worker环境的接口 在这几项要求下, Web Worker是一种理想的实现, 唯一的缺陷恐怕就是Worker环境缺失了很多Global的接口, 例如localStorage, 需要通过远程调用进行替代, 由于我的项目只用到fetch和JavaScript基本的内置函数, 所以这方面的顾虑反到不是很多. 注: 文中的所有代码均使用LiveScript语言, »






虾米网320kbps音乐分享测试

这篇文章的内容主要是对虾米网的320kbps在线试听音乐做一些测试, 以确认能否让普通用户也下载到VIP试听的音乐. 点击进入测试页(使用Chrome打开, 正常情况下能够听到absorb演唱的《桜ノ雨》) 这次的原理一如既往的简单, 我用PHPRPC 3.0写了一个Web Service作为API接口, 通过这个接口可以让客户端间接地得到320kbps音乐的下载地址, 也就是m3.file.xiami.com这个服务器上的文件动态地址. 这次测试用到了PHPRPC 3.0的PHP库和JS库, 以及两个文件: test.html <!DOCTYPE html> »


伪HTML5 Canvas 图像渐变转场效果(完全多线程)

这是一段无法运行的代码,至少我没能将它改造成能运行的代码. 浏览器会给你报这个错误: Uncaught Error: INVALIDSTATEERR: DOM Exception 11 而且我如果没猜错的话,即使这段代码能够运行了,性能也大不如前. Worker开启的多线程只适合处理大任务(或者在大任务中拆分成小任务),同时建立过多的线程肯定不行,而且在阻塞中将难以工作. 纪念我浪费掉的周日下午: <!DOCTYPE html> <html> <head& »