JWT
JWT:Json Web Token,是基于 JSON 的一个公开规范,这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息,他的两大使用场景是:认证和数据交换
使用:由服务端根据规范生成一个令牌(token),并且发放给客户端。此时客户端请求服务端的时候就可以携带者令牌,以令牌来证明自己的身份信息。
作用:保持登录状态 的办法,通过token来代表用户身份。
组成:JWT实际上就是一个字符串,它由三部分组成:头部、载荷与签名
头部:声明类型 和 声明加密的算法的JSON,然后进行base64加密的字符串
载荷:存放有效信息的地方的JSON,然后进行base64加密的字符串
签名:这个部分需要base64加密后的头部和载荷连接组成的字符串,然后通过头部中声明的加密方式进行加盐secret组合加密
优点:
1、jwt基于json,非常方便解析
2、可以再令牌中自定义丰富的内容,易扩展(payload可以扩展)
3、通过签名,让JWT防止被篡改,安全性高
4、资源服务使用JWT可不依赖认证服务即可完成授权
http和https的区别?
1.`HTTP` 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
2.`HTTP` 是不安全的,而 HTTPS 是安全的
3.`HTTP` 标准端口是80 ,而 HTTPS 的标准端口是443
4.`在OSI` 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层
5.`HTTP` 无法加密,而HTTPS 对传输的数据进行加密,安全性高于HTTP协议。
6.`HTTP`无需证书,而HTTPS 需要CA机构颁发的SSL证书,一般免费证书少,因而需要一定费用。
对于大流量的网站,采用什么样的方法来解决访问量问题?
以下有两个表
user表字段有id (int),name (varchar)
score表字段有字段uid (int),subject (varchar) ,score (int)
score表的uid字段与user表的id字段关联
要求写出以下的sql语句
1)在user表里新插入一条记录,在score表里插入与新加入的记录关联的两条记录
2)获取score表里uid为2的用户score最高的5条记录
3)使用联合查询获取name为“张三”的用户的总分数
4)删除name为“李四”的用户,包括分数记录
5)清空score表
6)删除user表
1). mysql_query(“insert into user(name) values(‘test’)”); $id = mysql_insert_id(); mysql_query(“insert into score(uid,subjext,score) values(“.$id.”,’english’,’99’)”);
2). $sql = select uid,sunjext,score from score where uid=2 order by score desc limit 0,5;
3). select s.score from score s RIGHT JOIN user u ON u.id=s.uid where u.name=’张三;
4). delete from score where uid in(select id from user where name=’李四’);
delete from user where name=’李四’;
5). delete from score;
6). drop table user;
本地mysql数据库db_test里已建有表friend,数据库的连接用户为root,密码为123
friend表字段为:id,name,age,gender,phone,email
请使用php连接mysql,选择出friend表里age > 20的所有记录打印结果,并统计出查询出的结果总数。
smarty,thinkphp框架中的模板引擎
blade,laravel框架中的模板引擎
$arr = pathinfo(“/wwwroot/include/page.class.php”);
$str = substr($arr[‘basename’],strrpos($arr[‘basename’],’.’));
function day_count($year,$month){
echo date(“t”,strtotime($year.”-”.$month.”-1”));
}
serialize()和unserialize()在php手册上的解释是:
serialize — 产生一个可存储的值的表示,返回值为字符串,此字符串包含了表示 value 的字节流,不丢失其类型和结构,可以存储于任何地方。
unserialize — 从已存储的表示中创建 PHP 的值 具体用法:
$arr = array(“测试1″,”测试2″,”测试3″);//数组
$sarr = serialize($arr);//产生一个可存储的值(用于存储)
//用任意方法(例如:你要是吧$sarr存在一个文本文件中你就可以用file_get_contents取得)得到存储的值保存在$newarr中;
$unsarr=unserialize($newarr);//从已存储的表示中创建 PHP 的值