前言:
现时我们对“apache cors”大概比较看重,朋友们都想要学习一些“apache cors”的相关资讯。那么小编也在网上搜集了一些对于“apache cors””的相关知识,希望各位老铁们能喜欢,同学们一起来了解一下吧!过滤器CorsFilter
org.apache.catalina.filters.CorsFilter是W3C CORS(跨域资源共享)规范的一种实现,在HttpServletResponse中增加Acess-Control-*头,同时保护HTTP响应避免拆分。
<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> <init-param> <!-- 允许访问资源的域列表 多个域以,分隔 --> <param-name>cors.allowed.origins</param-name> <param-value>*</param-value> </init-param> <init-param> <!-- 允许访问资源的HTTP方法 Access-Control-Allow-Methods的一部分 --> <param-name>cors.allowed.methods</param-name> <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> </init-param> <init-param> <!-- 构造实际请求时可以使用的请求头 Access-Control-Allow-Headers的一部分 --> <param-name>cors.allowed.headers</param-name> <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value> </init-param> <init-param> <!-- 允许访问的头信息列表 Access-Control-Allow-Headers的一部分 --> <param-name>cors.exposed.headers</param-name> <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value> </init-param> <init-param> <!-- 资源是否支持用户证书 --> <param-name>cors.support.credentials</param-name> <param-value>true</param-value> </init-param> <init-param> <!-- 浏览器允许缓存Preflight请求结果的时间 单位s --> <param-name>cors.preflight.maxage</param-name> <param-value>10</param-value> </init-param></filter><filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>CsrfPreventionFilter
CSRF 跨域请求伪造 CsrfPreventionFilter过滤器提供了基本的CSRF保护,通过生成一个随机数存储到会话中,URL使用该随机数进行编码。当接收到下一个请求时,请求中的随机数与会话中的进行对比,两者相同,请求才会允许
ExpiresFilter
负责设置服务器响应中的Expires头和Cache-Control头的max-age
FailedRequestFilter
参数解析失败时,拒绝该请求,原理是先调用getParameter进行解析参数
可能会消费HTTP的请求体,如果使用该Filter保护请求,为了POST请求可以正常解析,需要在该Filter之前配置SetCharacterEncodingFilter过滤器
RemoteAddrFilter
比较提交请求的客户端ip地址是否符合指定的正则表达式
RemoteHostFilter
比较提交请求的客户端主机域名是否符合指定的正则表达式
RemoteIpFilter
使用X-Forwarded-For来获取最原始的客户端ip
X-Forwarded-For: client,proxy1,proxy2
SetCharacterEncodingFilter
设置编码格式
标签: #apache cors