Typecho在HTTPS反代HTTP时遇到的bug处理


把博客改成HTTPS反代HTTP以后,觉得自己很久没收到评论提示了,于是决定上博客后台看看。突然发现博客后台进不去了,不仅是所有资源都被写成了http://,还有就算是手动load了这些http的不安全脚本,还是不能登录。后来经过阅读相关Typecho的源代码,才知道问题出在/var/Typecho.Request.php中的getUrlPrefix()函数中。这里调用了同文件中的isSecure()函数。而isSecure()函数中判断是https的方式有3种:

  1. PHP的$_SERVER['HTTPS']中值不为off
  2. PHP的$_SERVER['SERVER_PORT']中值为443
  3. 常量__TYPECHO_SECURE__为true

一看第三种方式处理起来最方便,于是打开/config.inc.php,在该插入的位置插入define('__TYPECHO_SECURE__', true);,就可以解决。博客的评论问题也同时可以完美解决。


自动登录浙江省高校招生考试信息管理系统


刚刚经历了浙江省的2016年10月学考选考,但不知道什么时候出成绩,于是我决定写一个自动查询的脚本。

0x00 准备

首先我打开了http://pgzy.zjzs.net:8011/login.htm,仔细观察了它的验证码。

pgzy.zjzs.net:8011

看了一下这个验证码的干扰因子很少,应该很方便识别。为了研究,我用wget下载了20个验证码。

wget http://pgzy.zjzs.net:8011/INC/VerifyCode.aspx -O $(date +%s).jpg

这里为了试验,我把20个验证码全部重命名过了。

验证码们

这里打算使用的语言是交易 3Python 3,并装好opencv和diff-match-patch。

本来想使用TensorFlow,但是我怕我在研究怎么使用它上会花费大量时间,于是使用了最机械的方法。

// 点开我,里面还有许多内容!


在qemu/kvm上安装Windows 10


这两天玩了qemu/kvm,装了debian玩,当我装Windows Server 2016的时候,遇到了问题:安装光盘卡在了Windows的Logo处,就像这样。

QQ20161003-1.png

一直以为是Windows在qemu/kvm上配置麻烦,于是各种搜索。直到我后来挂载了2012R2的安装盘能启动,然后搜索了"install windows 10 on qemu",爬到了国外的一个帖子,才知道,要修改cpu设置……

首先先在host上执行virsh -c qemu:///system进入libvirt的shell。然后edit {你的虚拟机名字}

然后在feature节点下面添加以下内容

<kvm>
  <hidden state='on'/>
</kvm>

添加cpu节点

<cpu mode='custom' match='exact'>
  <model fallback='allow'>core2duo</model>
  <feature policy='require' name='nx'/>
</cpu>

然后再启动虚拟机,就可以正常引导安装了!

QQ20161003-2.png

顺便,如果开启了virtio后安装程序不能识别到硬盘,请参考这个:KVM安装Windows Server 2008 R2使用virtio硬盘

还有问题欢迎在评论区提问!


OpenWRT做4G随身WiFi


突然生出了造一个4G随身WiFi的冲动,于是搞了一个硬改过的WR702N,和一个USB联通4G网卡来玩。

首先先得有一个OpenWRT,装上需要的软件包。

opkg install chat comgt kmod-ppp kmod-usb-serial kmod-usb-corekmod-usb-2 libusb-1.0 luci-proto-3g luci-proto-ppp ppp pppd usbutils libpthread librt zlib

关于usb-modeswitch,我们得专门编译,虽然官方也有,但是那个包实在是太不靠谱了,亲测。这里专门推荐一个GitHub repo:https://github.com/gzhechu/openwrt-usb-modeswitch-official。这里就不讲OpenWRT及packages的编译了。

装好usb-modeswitch后用usb_modeswitch -h调出帮助。看网卡的venid和proid用lsusb。usb-modeswitch的库还是比较全的。我是适用Sierra模式,所以直接通过usb_modeswitch -S -v 0x05c6 -p 0x92fe就转换成了Modem模式。

// 点开我,里面还有许多内容!


为现在青少年IT人的未来而担忧


从接触 Web 开发的那一刻开始,就开始不断接触一些青少年 IT 人。从当初的中国学生站长联盟,到崇才科技。他们都是一群青少年 IT 人,也是我所担忧的一类人。

在 GTC16 主题演讲的时候,我引用了 laosb 去年的对青少年 IT 人的分类:
QQ20160731-0.png
没错,现在青少年 IT 人的组成大部分是伪开发者和商人。当初做 GTC 的原因,就是想净化一部分青少年 IT 人的思想。

这两天听说了“小曹铁路”(小曹铁路?妈的智障! | Guoguo's Blog)本来没啥的,想想也是一个小学生,被网络上这么骂,也该有点悔意。但是今晚看了一下……得了吧!还搞了一个“官方 Git”!我们几个“老人”在群里讨论这件事。突然我意识到,GTC是没用的。它根本影响不到我想要影响的那一类人。他们该怎么样还是怎么样。

包括在 GTC 上提出的 teensDoCode 这个计划,也是想让更多的青少年接触编程,也想净化一部分青少年 IT 人的思想。但除了专业教育机构来帮我们完成,只靠学校是没用的。初中要准备中考,高中要准备高考,靠学校社团根本行不通。专业机构可能也不会有用,因为那一类人往往不会觉得自己需要。

就这样,我才会觉得以后的青少年 IT 人让我担忧。炫耀技术的伪开发者和只是为了赚钱的商人不是真正热爱 IT 的人。