Laravel 5.x HTTPS反向代理的实现
摘要:需求 可针对多个域名设置HTTPS并指向到同一个项目。 最先考虑到的是通过nginx的反向代理来实现,最终测试发现效果并不完美。 示例如下: server { listen 127.0.0.1:8080; root /path/to/application; index index.html ind
阅读全文
复杂数组的签名生成方法
摘要:应用环境:服务器需要通过签名验证客户端传过来的数据的合法性方法:之前在传送数据时尽量不使用复杂的数组(数组里面套数组)的方式,主要是因为对这种数组没有一个好的签名方法,现在我想到使用递归的方法去解决这个问题,还请大家多多指教 。具体实现方式:1、需要一个对一维数组进行签名的方法,返回为一个字符串。这个方法是基础。2、先排序,然后按照数组的key顺序访问数组,临时变量key => value,如果value为数组,对value进行签名并把签名结果作为value的新值,如果value中也有数组,则重复签名并赋值的操作3、执行到倒数第二步的时候,整个签名就变成了对一维数组进行签名实验步骤:ph
阅读全文
使用memcache进行账号验证服务
摘要:适用环境是需要频繁进行账号和请求合法性验证的地方大致思路:1、登陆时,服务器端接收一个账号和密码,还可以再加上用户的ip等信息通过md5等加密算法计算出一个定长的字符串作为用来验证的token2、根据用户账号/id md5出一个定长的字符串,用来作物memcache的key3、把生成的key和token存入memcache,并设置有效期为2小时(具体根据需要,最大不超过30天)4、当每次客户端请求时都会传递用户的id和步骤1计算出的token,与memcache中的数据进行对比,如果正确,value的有效期延长为设置的有效期时间所解决的问题:1、多处登陆,因为在不同的机器/时间/ip登陆后to
阅读全文
php在不同平台下路径分隔符不同的解决办法
摘要:在看phpamf时看到一个常量“DIRECTORY_SEPARATOR”,最后发现是一个全局的常量,用来定义路径分隔符的主要解决在windows和linux下路径分隔符不同的造成代码不通用的问题,在windows下使用的是“\”,而在linux下使用的是“/”
阅读全文
[php]Maximum function nesting level of '100' reached错误
摘要:今天在做后台一个模块的时候报出了这个错误。Maximum function nesting level of '100' reached 仔细分析之后发现是在类的初始化过程中(__construct)出现了相互调用例如:ClassA在初始化的时候new了一个ClassB的对象,ClassB在初始化的时候new了一个ClassA的对象,他们之间就会形成“回环嵌套”(暂且这么叫吧,还是个菜鸟,不懂那么多的专业术语),因为是“回环”,理论上他们会相互调用无数次,因此触发了此错误。注:nestingTranslations from 有道词典n. [计] 嵌套;造巢;镶嵌v. 为…筑巢
阅读全文