载入中…

文章标签 ‘网站’

安装fakeshell最小化ssh用户权限

2012.01.19 | 天气: , | 标签: , , ,

因为新买的VPS跑网站(nginx+php-fastcgi)很吃力,可能是我配置得不好,配置邮件服务器我试了2次,都不行,所以干脆把新服务器改成了ssh代理站,至于用来干什么大家都很清楚哈。
但是Linux下新建的用户权限还是相当高,网上搜到的教程都是把shell指到/bin/false下的,文章连标点符号都一样,可见国内互联网环境有多差!抄就抄的吧,可我要是用这个方法链接刚开始就会自动退出了,所以,在github上找到个源码:
github.com/xxlmira/fakeshell
完全符合我的要求,用户能登入,不需要其他动作,只需要添加即可。
这么方便?就看下面的教程吧。如果你知道什么是编译、用过make这种东西,下面的就不用看啦,哈哈。

安装fakeshell

因为是源码安装,所以肯定要有build-essential,然后下载上面的代码到自己的服务器上,并修改Makefile
……

PROG=		fakeshell
SRCS=		fakeshell.c
BANNER=		banner
PREFIX=		#原来是/usr/local 这里我喜欢用空值
PROVIDER=	"mengzhuo.org" #改成你要的网站标题
ADMINS=		"mengzhuo1203@gmail.com" #改成你要的管理员邮箱
CC=		gcc

…… 阅读全文 »

[WP插件]QQ Avatar

2011.12.20 | 天气: | 标签: , ,

如果用户使用数字QQ邮箱留言且公开空间头像
就替换Gravatar头像成QQ头像

插件地址

插件特点:

  1. 其他插件不能获取头像,我的可以
  2. 缓存QQ头像,一次加载,永久有用
  3. 加密QQ号码,不泄露”隐私“

因为很多同学没有申请Gravatar,所以博客留言头像那栏总是神秘人,不过有些同学用QQ纯数字邮箱留的言,正好QQ有个不算是API的方法获得QQ头像,所以我就想写个插件了。

[WP插件发布]修订版本清理器

2011.11.19 | 天气: | 标签: , , , ,

用过Wordpress写文章的同学都知道——Revision,或者中文叫“修订版本”的这个东西相当有用,特别在停电、猫猫狗狗在键盘上撒了尿、喝牛奶呛到的时候。因为Revision会保存之前的全文备份。当然,因为是全文备份,所以也相当占用SQL数据库。可是Wordpress只提供了要么有要没有的开关,其他插件最多也只是提供了手动删除的功能,我这懒人只好自己做一个出来了。

安装方法和其他插件没有两样,而且,最好玩的是,本插件绝不占用普通用户访问时候的CPU或者是内存,至于是什么原理,呵呵,会PHP的同学可以看看源码。而且您绝对不是小白鼠,因为有246只世界各地的小白鼠用了0.1版,一个多月都没有人投诉我,这才升级到1.2版的。

可以到wordpress.org/extend/plugins/revision-cleaner/去下载

顺便说下,如果你发现了什么BUG,请联系我的邮箱(最好是patch哈 ←。←人懒成这样)。

还有我不知道这SVN怎么用才能像GIT一样搞出pull request……

Revision插件演示

接下来是凑字数吐槽时间:

  1. 欢迎会英语汉语以外的同学提供I18N翻译,因为我见过日本、瑞典、法国的用户当了小白鼠……
  2. wordpress插件的hook很好用,理解了这个机制以后,写得很顺手哈
  3. 插件是通过读取trunk下的readme.txt来完成名称、版本等一系列配置的,这改得很蛋疼
  4. SVN每次都要复制,很烦
  5. 博客的图片已经支持点击LIGHTBOX浏览了
  6. 我的博客支持VIM快捷键浏览了,目前是:
    • F:全屏(所有页面)
    • C:直接飞到评论(单篇文章)
    • H:下一页(主页有效)
    • J:向下(所有页面)
    • K:向上(所有页面)
    • H:上一页(主页有效)

为了继续凑字数,我想说下这个插件的不占用普通用户访问时候资源的原理——其实很简单——就是只有管理员才有权限……整个插件HOOK到admin_menu上。在定时上,其实也没有定时器,这样就不占用任何普通访客的Loop,因为插件只是靠Mysql内部的时间来判断和删除(一条MYSQL语句占用的资源其实也极小),但是在写文章的人眼中就是定时删除了……好吧,别打我哈哈哈

折腾相册zenphoto主题

2011.09.13 | 天气: | 标签: , , , , , , ,

相册地址http://mengzhuo.org/album/

某卓认为,中秋之夜是写代码的好时候,所以就开始改进相册的主题,改进开始后才发现zenphoto的结构真是让人觉得蛋疼,类极其难用,类似wordpress的结构却不伦不类。

比如,输出相册封面的函数叫printCustomAlbumThumbImage,够长吧,参数也够长的,有十个这么多,还都得NULL过去,这样也就算了,缩略图还给整个写死了高宽,找函数底层才发现,这帮娃竟然也写死了这些参数,还得自己重新调用,缩略图都是一样蛋疼。还好,他们的默认主题比较完善了,jQuery也默认加载,所以,放心调用啦。

动画方面,相当给力,自创了“随手丢”一般的照片特效(自己进相册里看效果吧),基本都是CSS3+jQuery实现的,所以各位IE8以下的孩子就没有眼福啦。

改进完了才发现–我这人讨厌照相……有个相册没有用!希望自己以后能多照点啊才是啊。

HTML5之语音输入

2011.08.15 | 天气: | 标签: ,

谷歌的网站是时逛时新啊,今天在他们首页发现了HTML5的新玩法——语音搜索。可惜的是只有webkit核心的浏览器才能使用。用法很简单
只需要在input添加属性x-webkit-speech即可,例子如下:
<"input type="text" x-webkit-speech /">
这样你的输入框右边里就多了个「小话筒」,点击的时候就会提示

这时说出来识别后就可以了,我测试下来,中文英语的识别率还挺高的。

语音输入其他属性:

  • lang

    这玩意可以强制输入框里面的语音的语言种类,例如
    <"input type="text" x-webkit-speech lang="zh-CN"/">

  • 语音事件

    目前已知的只有onwebkitspeechchange,顾名思义,就是语音发生变化时触发的事件,一般可以作为提交
    <"input type="text" x-webkit-speech onwebkitspeechchange="$(this).cloest('form').submit()"/">
    这样说完以后就自动搜索了

  • x-webkit-grammar

    这个不是语音搜索用的属性,但是可以控制这个输入的语法,例如在做搜索框的话就可以用
    <"input type="text" x-webkit-speech x-webkit-grammar="builtin:search" /">
    使得语音输入的内容尽量靠近搜索内容,去除多余的字符,例如「的」

这个功能相当有趣,实用就不敢恭维了,主要是因为适用范围太小啊,所以只能希望HTML5尽快统一并应用了。