您正在查看: 2015年

同步本地 / 服务器代码 - Git 篇

已经习惯用 Git 进行开发了,不得不说 Git 的确是个很好用的开发工具

有的时候经常会需要一边维护一个 Git 库,一边将代码部署到服务器上
例如团队共同进行开发,希望 commit 后自动部署到团队的测试服务器上,就可以采用下面的办法

首先先在服务器上创建一个 Git 库

git init --bare

然后打开 .git 文件夹,找到 hooks 文件夹,创建一个 post-receive 文件

#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".

#exec git update-server-info

cd /var/www/buildbot.ikk.me/snapshot/KanColleTranslation/

env -i git pull

然后给这个文件赋予执行权限即可

由于我提前在网站上 git clone 过,于是直接 Pull 就行了
由于这是开放的库,就没有限制 .git 文件夹,如果需要限制可以在上面加 rm 命令,或是 nginx 屏蔽
当然想简单的话个人推荐把 git pull 换成 cp 简单粗暴

终极防跨站策略 Content-Security-Policy

听说 Discuz 又爆跨站漏洞了,唉……
不得不让我想起了 Content-Security-Policy 这一大神器

最早接触 Content-Security-Policy 还是在开发 Chrome 扩展程序的时候
Chrome 的安全性众所周知,开发的时候也遇到了各种坑,其中一个就是 Content-Security-Policy,不支持 HTML5 Import 标签就是这货导致的,于是 Polymer 被我搁(鸽)置了

Content-Security-Policy 可以保护网页,要求所引用资源必须来自指定的几个域,也可以要求禁用一些常用的、容易被 XSS 的特性
比如 Chrome Extensions 中就禁用了上下文的 Script 代码,所有 JavaScript 必须来源自 js 文件,不允许直接通过 script 标签运行

针对网络留言版、社区等网站,还允许禁用 html 标签的 onclick、onmouse*** 等在 html 中定义 js 事件,就算有 XSS 漏洞你也无能为力了 = =
PS:其实这样挺好的,当年 Flash 在 ActionScript 2.0 就是这种方式,在 ActionScript 3.0 已经全部换成监听器的设计了,这样看起代码来也清晰多了

如果你对 CSP 有兴趣,这里是一篇在 HTML5Rocks 上的文章,如有需要可供参考

给博客重新弄上了 HTTPS

继两步验证之后,折腾了一会,重新给博客弄上了 HTTPS。

这回弄上 HTTPS 之后发现 Chrome 依然报安全问题,搞了半天才发现是用了 SHA1 的中间证书……
现在 Chrome 就直接提示安全了

另外顺带给博客上了 STS - Strict Transport Security,只要通过 https 访问过之后,你就无法降级到 http 啦(斜眼笑)
然后现在如果通过 HTTP 访问,那么你有一定几率触发下面的对话:

- 阅读剩余部分 -

AJAX Comment

因为新风格与 AjaxComments 插件不兼容,尝试修改未果,干脆自己动手做一个 AJAX 评论出来

新的评论插件大部分由 JavaScript 实现,并且效果很配这个风格。

在开发过程中,想实现 bootstrap 的弹窗效果,但是 bootstrap 的 Modal 实在太麻烦了,必须要先建好 div 才能用。
能不能实现类似贴吧签到助手那样的用法呢?答案当然是肯定的
最后结果已经放到GitHub上了:https://github.com/kookxiang/BootstrapModalHelper

用法很简单:

newBootstrapModal()
    .setTitle('系统消息')
    .setContent('您的账号在另一地点登录,您被迫下线。')
    .addContent('如果这不是您本人的操作,那么您的密码很可能已经泄露。建议您修改密码。')
    .addContent('如有疑问,请点击这里')
    .addButton('重新登陆', null, function(){
        window.open('http://aq.qq.com');
    })
    .addButton('确定', 'primary')
    .show();

把 QQ 密码发到评论框 把上面的代码复制到 F12 Console 里运行查看效果

现在试试评论吧 XD

KK LRC 新版开发笔记

  1. 首先改名叫 KK Player 了,现在歌词是可选部分
  2. 现在 HTML5 Audio 元素也有属于自己的界面了
  3. 重写歌词部分代码(进行中)
  4. 现在歌词将显示在 KK Player 的界面中,并可以自由关闭
  5. 使用 CSS3 Transform 替换原有滚动函数(Pending,见注1)
  6. 将音频下载转移到播放器右键菜单中(Pending)

注1:测试发现,CSS3 Transform 并不会触发浏览器重绘,可以提升效率,平滑滚动可以借助 CSS3 Transition,不再需要 JS 辅助,毕竟 Transition 是有硬件加速的嘛

注2:看上面的列表就知道,现在新版还没有做完,具体要做到啥时候我也不知道,现在暂时没有做下去的动力……除非我能找到一款好点的 JS 混淆器 23333

给 Typecho 添加双因素认证支持

不得不说双因素认证的确是一种保护账号安全的有效方法,Google、GitHub和众多网站纷纷支持双因素认证保护账号,这次我把双因素认证移植到了 typecho 上

首先不得不说下,typecho 并没有给登录预留插件接口,只有登录成功和登录失败的处理接口,登陆界面也没有可以插入的地方,所以这回直接对 Typecho 源代码下手了

首先下载修改后的 Typecho 分支:
https://github.com/kookxiang/typecho

然后执行 SQL:

ALTER TABLE `typecho_users` ADD COLUMN `twoFactorAuthKey` varchar(18) NOT NULL;

(本来可以放到 Typecho 更新程序中自动执行的,考虑到日后升级问题,就没有放过去)

登录到后台,点击控制台 个人设置,最下方可以看到“双因素认证”,有随机生成的一组 Key,手动添加到 Google Authenticator 或者 Authy 中就可以使用了。当然也可以通过二维码方式添加,不过考虑到 Google API 在国内的可用率还是建议开着梯子访问。

添加到手机之后将当前验证码填写到确认框中点击启用即可启用。此后每次登录后台不论密码是否正确都将要求输入动态密码(增加暴力破解难度)

如需取消,可以登录后台输入动态密码取消。
如果无法登录后台,可以到数据库中清空对应用户的 twoFactorAuthKey 字段

就是这样~
Why? キミに問いたい そのアツい情熱の進化 「ギミー!レボリューション」 作詞:こだまさおり 作曲:田淵智也 編曲:やしきん 歌:内田真礼 待って 違和感の理由 恋じゃまだ弱いな 100通りの好きが飽和しても なりたいのはオンリーワン 思わず成長してく この髪は卒業? キミがちゃんと振り向いてくれたら きっとそれが完成形 理屈じゃないとか どこかで読んだコトバより めえいっぱい(わあ)背伸びしたい(YES!!)はじめての挑戦かもね (Growing UP!! Next phase) Tell me why キミに問いたい そのアツい情熱の進化 そうキミがキミである 存在が語るミラクル(Uh, baby) ねえ、もっと知りたい この胸が高鳴る仕組み もはや恋さえ凌駕しちゃう アタラシイ革命の予感 今日もS.O.S 駆けつけて来てねヒーロー Rescue!! すー、はー、Check, Check, テス オーライ キミの言い分 なんかフに落ちちゃった いろんな自分 会えないままなんて ひとりぼっちと変わんないし 理解はあとから? メクルメイテどうしたらいい? エスコート(きゃ)お願いね(やった)ふたりならなんでもできそう (You are my HERO!!) Take me high キミと目指すの あの遥か情熱のパラダイス もうキミがキミでなきゃ この星がピンチなんだよ(Uh, baby) ねえ、いつか言わせて トキメキが生みだすコトバ それは愛ともリンクしちゃう オトナ未満わたしの革命 Wao!! GOGO!! どっち? Oh my god… OK! Come on! うん、行くよっ いつも今が最高でしょ Ready GO!! ねえ、教えて 聞かせて これからどうなるの? これ以上ないくらい トキメキが加速しちゃうよ (Growing UP!! Final phase) 目覚めてく わたし達だけのカタチ Tell me why キミに問いたい そのアツい情熱の進化 そうキミがキミである 存在が語るミラクル(Uh, baby) ねえ、もっと知りたい この胸が高鳴る仕組み もはや恋さえ凌駕しちゃう アタラシイ革命の予感 今日もS.O.S 駆けつけて来てねヒーロー Rescue!!

  1. 1
  2. 2