0%

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

阅读全文 »

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

怎么做呢?

阅读全文 »

需求:

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

思路:

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

阅读全文 »

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

阅读全文 »

网站安全,防不胜防

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

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

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

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

阅读全文 »

最近有一个项目需求,需要为站点增加https访问。

开始只配置了www域名下的https,发现css和js都无法正常加载,原因是https页面,如果加载http协议的内容,会被认为页面不安全,尤其是IE,刷新一下页面就要弹出一次确认,相当烦人。

后来苦逼的把各个子域名都加入了https配置,nginx.conf里写各个子域名都写了一个443的server配置,每新增一个域名,还得copy一份,如果是修改一下站点的配置,还得改两次以上。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
NULL = 0,
NULL = 12345,
NULL <> 12345,
NULL + 12345,
NULL || 'abc',
NULL = NULL ,
NULL <> NULL ,
NULL AND TRUE ,
NULL AND FALSE ,
NULL OR FALSE ,
NULL OR TRUE ,
NOT (NULL);

如果这是一道面试题,估计不知道有多少程序员甚至是DBA会阵亡。

阅读全文 »