目录
- xss注入问题
- Authenticator认证器
xss注入问题
- 现象:前端显示内容非预期
- 原因:反射型注入和存储型注入,本质都是利用输入框输入一段js代码。
- 解决:利用html的转义解析,当浏览器遇到HTML转义符时,它会将其识别为一个特殊序列,并将其替换为它所代表的相应字符。 例如,转义符“& lt;”表示小于符号(<),“ & gt ; ”表示大于符号(>)。 该机制通过防止特殊字符被解释为标记或代码来确保HTML代码被正确呈现。 为什么HTML转义符在web开发中很重要? HTML转义符的使用在web开发中至关重要,主要有两个原因:防止代码错误和确保数据安全。 首先,如果特殊字符没有正确转义,它们可能会破坏HTML代码的结构,导致语法错误或网页的意外呈现。 例如,如果您想显示小于符号(<)在不使用转义符的HTML内容中,浏览器会将其解释为新元素的开头标记,这可能会破坏页面的布局。
代码:引入apache的一个转义包即可以实现。
Authenticator认证器
- 原理:客户端和服务端存储相同秘钥,再加上时间戳,进而可以在相同的时间内计算出相同的密码,从而进行密码校验。
OTP (One-time Password):一次性密码,又称动态密码或单次有效密码,是指计算机系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或交易。
HOTP (HMAC-based One-time Password):是一种基于散列消息验证码(HMAC)的一次性密码算法。
TOTP (Time-based One-Time Password):是一种根据预共享的密钥与当前时间计算一次性密码的算法。
Authenticator认证器是TOTP基于HOTP的实现,它结合一个私钥与当前时间戳,使用一个密码散列函数来生成一次性密码。由于网络延迟与时钟不同步可能导致密码接收者不得不尝试多次遇到正确的时间来进行身份验证,时间戳通常以30秒为间隔,从而避免反复尝试。