摘要: 网站在登录后会有token会标识某一用户, 通常用缓存memcache或redis来保存, 可以用token做缓存的key, 登录信息做缓存的value, 但为了更加安全, 可以将token哈希成tokenKey, 作为缓存的key值, 这样即使缓存被破解了, 也不能马上得到token值. 单一登录 阅读全文
posted @ 2017-03-23 13:49 wahgon 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 对于向第三方开放的接口, 通常都要检验其请求的合法性, 通常做法以下. 1. 向第三方提供一个帐号和密钥, 在其发起请求前, 在参数加上帐号和密钥, 再哈希得到签名sign, 然后参数去掉密钥, 再加入sign, 再发起请求. 2. 收到请求后, 根据参数的帐号找到第三方的密钥, 用同样的方法得到s 阅读全文
posted @ 2017-03-22 16:09 wahgon 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 这里只说说 jsapi 微信支付微信的服务器应该有两个处理方, 一个是微信后台, 一个是财付通后台, 所以提交的数据也分成两份, 一份是微信后台数据, 这里说执行JS调起支付的参数, 一份是财付通后台数据, 字段名为package, package就是商户订单信息, package作为微信后台数据的 阅读全文
posted @ 2017-03-22 15:24 wahgon 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 首先看下整个步聚. 1. 后台服务器引导用户请求微信服务器, 微信服务器响应在微信浏览器提示用户是否要授权. 2. 用户同意后微信服务器返回code. 3. 微信浏览器跟据重定向redirect_uri带上code请求后面服务器. 4. 后台服务器收后code后, 用code请求微信服务器. 5.  阅读全文
posted @ 2017-03-21 17:51 wahgon 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 匹配字符 ? 匹配前面0次或1次。 + 匹配前面1次或多次。 * 匹配前面0次或多次。 边界 \b 放在词前就是前边界, 放在后就是后边界. 通常情况下,以 空格、段落首行、段落 尾、逗号、句号 等符号作为边界,值得注意的 是,分隔符“-”也可以作为边界。 非边界字符就是边界字符的边界. “\B”, 阅读全文
posted @ 2017-03-17 18:40 wahgon 阅读(157) 评论(0) 推荐(0) 编辑
摘要: $check = self::USERNAME.$condition['userphone'].$condition['showid'].$condition['seats'].self::PASSWORD; #生成验证的key $checkcode = strtoupper(md5($check)); $seats = str_replace(',','%2C',$condition['sea... 阅读全文
posted @ 2017-03-10 16:29 wahgon 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 基础知识 index type normal : 普通索引 unique : 唯一索引 fulltext : 全文索引 建议不使用, 推荐大家使用Sphinx或Lucene方案 spatial : 空间索引 index mothod btree : B-tree(多路搜索树, 并不是二叉的)是一种常 阅读全文
posted @ 2017-03-03 15:07 wahgon 阅读(126) 评论(0) 推荐(0) 编辑
摘要: mysql : 原始的. mysqli : mysql improvement 就是mysql的改进, 支持持久化连接(http://cn.php.net/manual/zh/mysqli.persistconns.php), 支持事务, 支持面向过程和面向对象. pdo : 就是php data 阅读全文
posted @ 2017-03-02 22:57 wahgon 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 在使用数组元素时一定要注意元素是否存在,如果不存在,会发出Notice: Undefined offset,$bb = [];echo $bb[0];会抛出Notice: Undefined offset: 0 in /usr/local/var/www/aa.php on line 8正确写法 $ 阅读全文
posted @ 2017-02-28 16:21 wahgon 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定 阅读全文
posted @ 2017-02-28 14:39 wahgon 阅读(113) 评论(0) 推荐(0) 编辑