- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在我的 Web 应用程序中实现 CSRF 保护。
我用过org.springframework.security.web.csrf.CookieCsrfTokenRepository
类来生成 X-XSRF token 。该 token 在每个请求的响应中作为 cookie 发送。
UI 组件是部署在不同服务器上的单页面应用程序,它会读取此 cookie,并从 cookie 中读取 X-XSRF token ,并将其设置为所有后续请求中的 header 。
Spring 验证收到的 X-XSRF token 并允许/拒绝请求。这很好用。
但他们的限制是这个 X-XSRF cookie 必须是 httpOnly
是 false
以便客户端 JavaScript 可以读取它。
我们无法读取 httpOnly
的 cookie是 true
.
是否有其他替代方案可以在 X-XSRF token cookie httpOnly
的 Web 应用程序中保护 Web 应用程序 CSRF是 true
.
使用 JavaScript 方法 ( document.cookie
) 我无法读取 httpOnly
的 cookie属性设置为 true
,参见:
我无法将所有 cookie 更改为 httpOnly
是 false
在 Websphere 中。
或者我是否遗漏了客户端 JavaScript 可以读取 cookie 的内容,即 httpOnly
是 true
.
最佳答案
CookieCsrfTokenRepository
There can be cases where users will want to persist the
CsrfToken
in a cookie. By default theCookieCsrfTokenRepository
will write to a cookie namedXSRF-TOKEN
and read it from a header namedX-XSRF-TOKEN
or the HTTP parameter_csrf
. These defaults come from AngularJSYou can configure
CookieCsrfTokenRepository
in XML using the following:<http>
<!-- ... -->
<csrf token-repository-ref="tokenRepository"/>
</http>
<b:bean id="tokenRepository"
class="org.springframework.security.web.csrf.CookieCsrfTokenRepository"
p:cookieHttpOnly="false"/>The sample explicitly sets
cookieHttpOnly=false
. This is necessary to allow JavaScript (i.e. AngularJS) to read it. If you do not need the ability to read the cookie with JavaScript directly, it is recommended to omitcookieHttpOnly=false
to improve security.You can configure
CookieCsrfTokenRepository
in Java Configuration using:@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
}
}The sample explicitly sets
cookieHttpOnly=false
. This is necessary to allow JavaScript (i.e. AngularJS) to read it. If you do not need the ability to read the cookie with JavaScript directly, it is recommended to omitcookieHttpOnly=false
(by using newCookieCsrfTokenRepository()
instead) to improve security.
关于javascript - 使用 Spring Security 保护 Web 应用程序免受 CSRF 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55742167/
我正在尝试进行一些高度递归的模拟和数学运算,在某些边缘情况下,我会溢出调用堆栈并获得 EXC_BAD_ACCESS 信号。将算法更改为迭代形式是不可行的,因为它是很多遗留代码。并且递归深度限制没有用,
我们有一堆调用 Python C/C++ 绑定(bind)的测试。我们用 Nose 运行这些测试: nosetests myapp ..... ----------------------------
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
我对不使用 SSL 保护 PHP session 的主题很感兴趣。 令我惊讶的是,如果中间人嗅探用户和服务器之间交换的数据包,即使已通过身份验证,也很容易窃取 session 。我知道有一些策略可以限
我对不使用 SSL 保护 PHP session 的主题很感兴趣。 令我惊讶的是,如果中间人嗅探用户和服务器之间交换的数据包,即使已通过身份验证,也很容易窃取 session 。我知道有一些策略可以限
我正在创建一个 API,下面的方法通过查询参数中的员工姓名或所有员工获取员工。但是,[FromQuery(Name = "name")] 是否可以防止 SQL 注入(inject),不确定这是否是 .
我想保护我的应用免受 XSS 攻击。我可以使用任何开箱即用的功能吗?一个外部库来保护整个应用程序的请求?还是 Tomcat 过滤器/阀? 谢谢! 最佳答案 您可以使用的选项: > Java Encod
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
这个问题在这里已经有了答案: How to prevent spoofing of DLLs in .NET (2 个答案) 关闭 7 年前。 我想保护我的 DLL 不被修补程序修改。听说对DLL进
我刚刚在我的 Azure Web 应用程序上安装了 SSL 证书。我已使用可用的 Symantec SSL 检查器工具检查安装是否正确 here . 在结果中我可以读到 BEAST This serv
我正在为一组网站设计 API。这些站点非常相似(有点像 StackOverflow、SuperUser 和 ServerFault),它们有一个共享的后端是有意义的。因此,我们决定尝试使用一个很好的
我正在开发一个使用 SQLite 作为数据库管理系统的 PHP 应用程序,MySQL 和 PostgreSQL 等不是替代方案(尽管我真的很想使用 pgsql),因为我希望设置对初学者非常友好并且为零
我们使用 native Apache Portable Runtime SSL 连接器在 Tomcat 6 上运行 Web 应用程序以提供 SSL 连接。我们如何配置服务器以防止 BEAST 攻击?。
我有一个聊天窗口(使用 )有时需要获取多行条目。到现在为止,我只是简单地替换了传入的 \n与 并显示带有 .append() 的文本.不幸的是,我发现留下一个裸体 .append()基于用户输入允许
我已经研究过这个主题,但找不到任何相关信息 我们是否需要采取任何安全措施来保护 javax.xml.transform.Transformer 免受 XML 外部实体攻击? 我做了以下,它似乎扩展了
例如,我有一个用 Node.js 编写的 REST api 端点。非技术用户可以从网页访问,也可以使用 curl 命令通过命令行访问。它不需要任何凭据即可访问它,因为它旨在对任何人开放以供访问。我要解
我托管了我的博客 Amazon Web Services S3(托管静态文件)。我是否应该添加任何策略或措施来进一步保护我的帐户免受 DDoS/高带宽消耗? 最佳答案 我认为这是一场音乐会。不是在技术
我有一个网站使用数据库为网站用户存储信息。所有 mysql 数据库调用都是 SELECT。我使用 $_GET 将变量从一个页面传递到另一个页面,然后在 mysql SELECT 调用中使用这些变量。我
我刚读过 http://www.ruby-lang.org/en/news/2013/02/06/rdoc-xss-cve-2013-0256/ ,关于 RDoc 中 XSS 攻击的报告。 我使用的是
我正在处理一个相当复杂的数学库,当客户端代码使用 auto 时,我发现了一个令人讨厌的错误。在创建一个最小的复制案例来询问有关它的问题的过程中,我意识到我可以单独使用标准库来复制类似的东西。看这个简单
我是一名优秀的程序员,十分优秀!