MySQL Connection using old authentication protocol refused

有一台mysql升级到5.6版本,结果连接一些低版本的mysql服务器报出如下异常:

Warning: mysql_connect(): Connection using old (pre-4.1.1) authentication protocol refused (client option ‘secure_auth’ enabled)

异常原因在于服务器端的密码管理协议陈旧,使用的是旧有的用户密码格式存储;但是客户端升级之后采用了新的密码格式。mysql5.6版本遇到这种不一致的情况就会拒绝连接。

PHP君子加密

因为Github Page没办法支持php代码运行,之前的PHP君子加密没办法直接运行了,把源码放出来,大家自己部署吧。

博客迁移公告

很不幸,因为VPS忘记续费,博客的资料没有备份,导致博客资料丢失。
经过深思熟虑,觉得将博客迁移至GitHub,丢失的文章和资料我尽量找回。

身份证号码验证的几个实用函数

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个,代码还是用自己的舒服哈。

解决PHP输出UTF-8编码的csv乱码问题

众所周知,UTF-8已经一统天下了,但是微软office默认使用的还不是它,经常在使用程序生成CSV的时候总是看到的是乱码,其实office并非顽固分子,在早期版本已经增加了对UTF-8的支持,但是你要告诉他,你的数据是UTF-8。

怎么做呢?

实现自定义apk安装包

需求:

突然收到老大的需求,要对产品进行一次推荐好友安装的活动,每个会员下载自己的专属安装包(里面记录会员的相关信息)。

思路:

经过了解,发现apk安装包原来只是zip的一个马甲,使用php的ZipArchive类可以对文件进行操作。

防御性编程

在公司,我们碰到的很大一部分问题都是NullPointerException。我常常就想:这段程序明明在我电脑运行好好的,为什么会出现这种情况呢?
因为,我们永远都无法预测用户使用时会发生的各种情况。所以防御性编程可以让我们减少很大一部分错误。

nginx安全配置之白名单设置

网站安全,防不胜防

你永远不知道黑客利用什么漏洞对你的网站进行攻击,最常见的手段是利用漏洞在你的网站留个后门,喜欢的时候来逛逛,比如玩你的服务器上传一个x.php,直接访问:

1
http://www.example.com/a/b/c/d/a.php

然后就可以为所欲为了,那么有没有办法让黑客即使利用漏洞上传了php代码而没办法运行呢?答案是肯定的。

思路是从运行php的php-fpm着手,在nginx上做配置,客官请看配置。