我正在构建一个由外部系统进行身份验证的应用程序。对于CSRF处理,我想使用Spring Security的CSRF支持(http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html)
我尝试了各种选项,但在没有身份验证的情况下无法使用Spring Security的CSRF支持。
是否可以仅使用Spring Security的CSRF支持?(我不想使用身份验证/授权)
我也有与您相同的需求,我能够通过在spring security中进行最小配置来实现它。xml
<authentication-manager />
<http create-session="never" use-expressions="true">
<csrf />
<http-basic />
</http>
这里是
之后,在您的web上添加Spring Security过滤器。xml文件。这确保所有请求在被应用程序控制器处理之前首先通过Spring Security机制。
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后在JSP(最好是标题JSP)中,包括Spring Security的Taglib,以访问CSRF令牌并将其存储在meta标记中。
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<sec:csrfMetaTags />
<script type="text/javascript">
var csrfHeader = $("meta[name='_csrf_header']").attr("content");
var csrfToken = $("meta[name='_csrf']").attr("content");
</script>
之后,在您的所有Ajax调用中包含CSRF令牌。如果不包括,您将获得403-访问拒绝错误。
例如,如果您使用jQuery进行ajax调用,那么您可以对其进行全局配置,以便在请求头中包含CSRF令牌。
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader(csrfHeader, csrfToken);
});
此工作所需的JAR文件是:
spring-security-acl-5.0.7.RELEASE.jar
spring-security-config-5.0.7.RELEASE.jar
spring-security-core-5.0.7.RELEASE.jar
spring-security-taglibs-5.0.7.RELEASE.jar
spring-security-web-5.0.7.RELEASE.jar
安全在Web应用开发中是一项至关重要的话题,Django提供了多种保护手段和机制:
Elasticsearch-PHP 客户端支持两种安全设置方式:HTTP 认证和 SSL 加密。 HTTP 认证 如果你的 Elasticsearch 是通过 HTTP 认证来维持安全,你就要为 Elasticsearch-PHP 客户端提供身份凭证(credentials),这样服务端才能认证客户端请求。在实例化客户端时,身份凭证(credentials)需要配置在 host 数组中: $hos
安全 no_file_caps 要求内核无视文件的权限。这样,执行文件的唯一途径就只有:由root去执行或者setuid root noexec={on|off} noexec32={on|off} 是否允许将某部分内存映射为"禁止执行",这是一种防止数据缓冲区溢出攻击的保护措施(也就是WinXP SP2曾经大力宣传的数据执行保护功能),建议保持默认值"on"。 [说明]noexec对32bit代
请参考:http://www.kancloud.cn/manual/thinkphp/1840
评估 Docker 的安全性时,主要考虑三个方面: 由内核的命名空间和控制组机制提供的容器内在安全 Docker 程序(特别是服务端)本身的抗攻击性 内核安全性的加强机制对容器安全性的影响
本节详细介绍了Web容器包含在一个产品中时额外的安全性要求,还包含EJB、JACC和(或)JASPIC。以下各节将介绍这些要求。 EJB™调用传播的安全标识 必须始终提供一个安全标识或主体(principal),用于调用一个企业 bean。从 Web 应用程序中调用企业 Bean 的默认模式是为把 Web 用户的安全标识传播到 EJB 容器。 在其他情况下,Web 容器必须允许不了解 Web 容器