跬笃实习面经(已过)

1.拷打项目,md5值比对操作,如果有一些字段是添加了一些空格,导致md5变了,但是其实它内容没有变,该如何解决。

在生成md5值的时候,我们对列字段进行操作,将空格这些无用字段给去掉,保证md5生成是一致 的。

2.数据结构,如何用递归实现bfs

枚举每一次到达长度,超过这个长度就剪枝。

3.问了JWT相关知识,先问了堆JWT的理解,我从session和token两个存储角度讲解了一下,然后讲了jwt的结构组成,问了一个场景题,如果token信息泄露了,那么攻击方可以冒充真正的客户端进行访问,此时该如何解决。(手动下线)

我当时回答是在服务端直接下线,后面想一下是不对的,因为token信息服务端是不存在的,他是由客户端发送并保存,而服务端生成完token后,后面要做的仅仅是校验这个token是否正确,如果此时需要废弃这个token,我的思路是维护一个黑名单,传来token的时候判断是否这个token在黑名单内,在则不通过。

后来网上查的一个解决方案:在生成token的时候把ip内容加进去,每次接受token的时候,进行解析, 然后判断token里的ip是否与传消息过来的ip一致。

JWT token安全问题之窃取被泄露_jwt token被盗-CSDN博客

你可能感兴趣的:(java)