安全漏洞防护
XSS
概念
跨站脚本(Cross-site scripting,通常简称为XSS)
是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了 HTML 以及用户端脚本语言。
XSS 攻击示例:
假如有下面一个 textbox
<input type="text" name="address1" value="value1from" />
跨站脚本(Cross-site scripting,通常简称为XSS)
是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了 HTML 以及用户端脚本语言。
XSS 攻击示例:
假如有下面一个 textbox
<input type="text" name="address1" value="value1from" />
认证 (Authentication) 是根据凭据验明访问者身份的流程。即验证“你是你所说的那个人”的过程。
身份认证,通常通过用户名/邮箱/手机号以及密码匹配来完成,也可以通过手机/邮箱验证码或者生物特征(如:指纹、虹膜)等其他因素。在某些应用系统中,为了追求更高的安全性,往往会要求多种认证因素叠加使用,这就是我们经常说的多因素认证。
常见的认证方式
最简单的授权形式可能是根据是否已对发出请求的实体进行身份验证来授予或拒绝访问权限。 如果请求者可证明自己是所自称的身份,则可访问受保护的资源或功能。
常见的授权模式有以下几种:
Shiro 是一个安全框架,具有认证、授权、加密、会话管理功能。
核心功能:
Spring Security 对于 Servlet 的支持基于过滤链(FilterChain
)实现。
Spring 提供了一个名为 DelegatingFilterProxy
的 Filter
实现,该实现允许在 Servlet 容器的生命周期和 Spring 的 ApplicationContext
之间进行桥接。 Servlet 容器允许使用其自己的标准注册 Filters,但它不了解 Spring 定义的 Bean。 DelegatingFilterProxy
可以通过标准的 Servlet 容器机制进行注册,但是可以将所有工作委托给实现 Filter 的 Spring Bean。
认证是指根据声明者所特有的识别信息,确认声明者的身份。认证在英文中对应于 identification 这个单词。
最常见的认证实现方式是通过用户名和密码,但认证方式不限于此。下面都是当前常见到的认证技术: