许多资源声称(来源1)(来源2)
对于RESTful Web服务公开的资源,确保任何PUT、POST和DELETE请求都受到跨站点请求伪造的保护非常重要。
CSRF对所有对网络安全关注程度最低的应用程序都是强制性的
然而,Spring Security文档称:
对正常用户可以通过浏览器处理的任何请求使用CSRF保护。如果只创建非浏览器客户端使用的服务,则可能需要禁用CSRF保护。
那么,对一个应用程序禁用CSRF可以吗?
这很容易解释:
CSRF令牌是基于Http会话
生成的。如果您的应用编程接口持有超文本传输协议会话,您应该使用CSRF令牌来保护它,但是大多数REST服务被设计成无状态的,在这种情况下,您不能/不应该/不会使用CSRF令牌。
这取决于API的客户端。CSRF攻击基于这样一个事实,即客户端会自动通过HTTP请求发送请求URL的cookie(授权)。如果你的客户端没有这样做(通常浏览器会自动这么做),你应该没问题。
原因是:如果您的API使用者未通过cookie(浏览器自动存储的cookie)在您的应用程序中进行身份验证/授权,则攻击者无法使用任何其他网页进行成功的CSRF攻击(使用浏览器中的API cookie从其他网页发送HTTP请求)。
换句话说,我无法想象API客户端的编写方式能让它向您的API发送请求,存储cookie(您的身份验证),还能以某种方式向您显示一些“愚蠢”用户交互的内容——用来自之前API请求的cookie(您的身份验证)向您的API发送请求。
然而,如果我省略了调用,我的应用程序似乎运行良好,没有任何明显的错误。这个方法是否只是为了加快速度,预计一个可能很长的初始化,这样它就不会在第一次使用时减慢你的速度(急切的和懒惰的初始化)?或者,如果我没有正确初始化ThreeTenABP,是否会冒得到错误结果的风险?
我试图为我的项目创建一个登录系统。我想创建这样的过程:填完表单后单击register按钮,将带有URL的数据发送到API,并返回以下json字符串: 结果字符串只返回OK或No。现在我想在结果返回'OK'时在loginErrorMsg中显示'Message'。如果结果返回Ok,则应该启动LoginActivity。但是我在解析JSON/GSON时丢失了一些东西。
我在Heroku上成功运行了一个节点应用程序。我已经购买了加急SSL证书,一切正常。我去https...并获得一个完整的“绿色条”,证明该站点是通过https提供服务的 但是,非 SSL 标准 http 仍然可用。如何强制应用通过 https 提供服务?谢谢
问题内容: 我们正在寻找构建正在创建的应用程序前端的选项,并正在尝试评估一种对我们有用的工具,并为我们提供前进的最佳平台。 这是一个Node.js项目。我们最初的计划是使用Express并沿这条路线走,但是我们决定在开始此阶段之前,最好回顾一下那里的内容。我们的应用程序有几个我们认为不适合单页模型的领域,因为它们是从应用程序的角度关联的,而不是从一个角度来看的。 我们已经看到了一些可用于构建客户端
当我发出请求时,我会得到一个XML响应,但我需要的是JSON。在文档中,为了得到一个JSON,需要声明:使用HTTP头。 在哪里可以找到要放入的HTTP头? 我猜它不应该在URL请求中,如下所示: