php函数之crypt做用户密码验证
在研究一个系统的时候发现该系统的用户密码存储使用的是crypt(用户密码);但是当我新增一个密码为“123456”的用户时,发现crypt(‘123456’)加密后与该系统数据库存放的加密字段对不上。
当我再次运行 crypt(‘123456’) 的时候发现它的密码有发生了变化,这种同一个crypt函数加密出来的密码不一样如何做密码校验?简直崩溃。经过一番查找终于找到原因了,使用方法如下:
encrypt函数第二个参数如果没有或者为空,那么encrypt($pwd)出来的是变化的,一旦加了第二个salt参数,只要$pwd不变加密后的字符就不变。
参考地址: https:/[……]
宝塔面板安装java web环境
一、安装
直接宝塔(安装方法)web管理界面软件商店进行安装nginx1.16+ Java项目管理器 1.7 ,完毕后打开 Java项目管理器 1.7 的版本管理 安装Tomcat8即可。(注意不要在软件商店里直接安装Tomcat,如果你是直接安装Tomcat那么下面的教程不适用)
二、配置
Java项目管理器 1.7 安装好Tomcat8后,“/www/server/tomcat8/webapps”目录已经自动生成了一些java web的示例,使用服务器ip:端口8082 直接访问出现Tomcat页面。
如果要使用域名和80端口访问,那么需要在“ Java项目管理器[……]
PHP7.0下钉钉回调接口注册
在测试的时候遇到很多问题,注意回调地址“http://test.com/dingding”是错误的,需要改成 “http://test.com/dingding/”;提示“返回文本非success”一般是加密的方式不对。回调接口返回给钉钉的json数据,需要对success按相关算法生成encrypt。完了还得生成消息体签名 msg_signature ;在返回success加密中的“ msg_len为4字节的msg长度,网络字节序; ”还是没搞明白,但是本文使用php版的sdk可以不用考虑具体的过程调用就行。
可以下载官方的demo修改:
php库和demo: 库地址:htt[……]
记录mysql执行过的所有sql语句
打开mysql的配置文件my.ini 在记录慢查询语句配置的上方新增配置语句:
slow_query_log=1
slow_query_log_file=slow.log
重启动MYSQL服务后即可生效,这样的话每次操作的sql语句都可以记录下来,该文件可能会很占用空间哦。生成的文件在data目录下,如果不知道my.ini 与后面生成的配置文件的位置就手动搜索下吧。
PS:windows下的mssql也有记录sql操作语句的功能,记得应该是SQL Server Profiler,能够查到当前实时操作的sql语句。另外阿里云等貌似也提供数据库监审类工具能够监管确保数[……]
虚拟机中Centos局域网NAT组网
为方便实验各个版本的虚拟机操作系统,建议在VM的,虚拟机网络编辑器内设置为NAT模式,虚拟机的网络适配器也设置为NAT模式! 假设你真实的电脑主机ip为192.168.1.103
一、VM软件编辑NAT模式
1、设置好子网IP与子网掩码(172.16.0.0 255.255.255.0)
2、nat模式右侧的“NAT设置”设置“网关IP”为 (172.16.0.1),这个网关的意思就是你后面所有使用nat模式的虚拟机系统都要设置ip地址为172.16.0.x 网关地址为172.16.0.1 才能上网。
3、NAT设置 中的端口转发功能跟路由器的端口转发差不多[……]