git reset 重置到某次提交

由于项目组对 git 使用不熟,胡乱提交主分支,不解决冲突直接提交,记一次 git 重置操作的过程:

1. 把本地master代码回撤到有问题的提交点之前,git reset -q –hard commid-id

2. 将本地master强行推送到远端,需先在gitlab上设置解除master的强行推送的限制,之后再改回来,git push -f origin master

3. 将有问题的分支重新合并到master,在此之前跟master分支进行变基操作,衍合最新代码并解除冲突,再次合并就没有问题了,之后再把其他从master上撤回的提交重新提交合并到master

登录重放攻击及安全防御

现在的应用系统中,大部分密码存储都是采用md5加密后存储,常用的登录基本流程如下:

1、前端web页面用户输入账号、密码,点击登录。

2、请求提交之前,web端首先通过客户端脚本如javascript对密码原文进行md5加密。

3、提交账号、md5之后的密码

4、请求提交至后端,验证账号与密码是否与数据库中的一致,一致则认为登录成功,反之失败。

继续阅读“登录重放攻击及安全防御”

MySQL大表加字段思路

给 MySQL 一张表加字段执行如下 sql 就可以了:

但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了。

继续阅读“MySQL大表加字段思路”

Laravel 5.3 后台管理系统搭建

网上的很多基于 Laravel 的后台管理系统,要么缺少基本的功能,要么太臃肿,总是找不到自己喜欢的,于是自己做了一个。它的特点是尽可能简单又不缺少基本的后台功能,如用户认证,基于角色的权限系统(Entrust),菜单管理,媒体管理等,并且使用 AdminLte 后台界面,外观简洁功能强大。

继续阅读“Laravel 5.3 后台管理系统搭建”

Laravel 使用 env 读取环境变量为 null 的问题

不知道大家有没有遇到过,在 Laravel 中(除 app/config 目录下的配置文件中)使用 env 函数读取环境变量,有时有用,有时返回 null,究竟怎么回事?让我们一探究竟。

在 Laravel 项目中,如果执行了 php artisan config:cache 命令把配置文件缓存起来后,在 Tinker 中(Tinker 是 Laravel 自带的一个交互式命令行界面),使用 env 函数读取环境变量的值为 null,只有执行 php artisan config:clear 清除配置缓存后就可以读取了,这是为什么呢?

继续阅读“Laravel 使用 env 读取环境变量为 null 的问题”