是否有必要保护 JAX-RS 请求免受 CSRF 影响?

2024-02-15

是否有必要保护 JAX-RS 请求免受攻击CSRF https://en.wikipedia.org/wiki/Cross-site_request_forgery?

By 定义 https://en.wikipedia.org/wiki/Representational_state_transfer#StatelessREST 是无状态的,因此不存在会话 id(会话 cookie),因为根本不存在会话(另请参阅https://stackoverflow.com/a/15746639/5277820 https://stackoverflow.com/a/15746639/5277820).

我的 Spring Security Java 配置:

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Configuration
    @Order(1)
    public static class JaxRsWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {

        @Override
        protected void configure(final HttpSecurity http) throws Exception {
            http
                .antMatcher("/services/**")
                .csrf().disable()
                .authorizeRequests()
                    .antMatchers(HttpMethod.OPTIONS, "/services/**").permitAll()              
                    .anyRequest().hasAuthority("ROLE_user")
                    .and()
                .httpBasic()
                    .and()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
             }
        }
    }
}

但我发现例如以下博客:无状态 Spring Security 第 1 部分:无状态 CSRF 保护 http://blog.jdriven.com/2014/10/stateless-spring-security-part-1-stateless-csrf-protection/。不幸的是,该博客没有解释为什么需要 CSRF 保护。

是否还有其他没有会话 cookie 的 CSRF 攻击?


CSRF 攻击不需要会话的存在。 CSRF 攻击包括代表用户执行某些操作,方法是诱骗他/她单击链接或提交转到用户登录的应用程序的表单。

无论是使用基本身份验证还是会话 cookie 来识别用户都是无关紧要的。

请注意,使用 cookie 并不意味着应用程序不是无状态的。 Cookie 与基本身份验证一样,只是随每个 HTTP 请求发送一个附加标头。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有必要保护 JAX-RS 请求免受 CSRF 影响? 的相关文章

随机推荐

  • 在 R 中转换 3D 数组中的表格

    我有一个矩阵 R gt pippo m 1 2 3 4 1 1 2 3 4 2 5 6 7 8 3 9 10 11 12 4 13 14 15 16 5 17 18 19 20 6 21 22 23 24 我想用 dim 2 4 3 将该矩
  • 如何调试 UWP UpdateTask?

    在我的 UWP 应用中 如何通过 UpdateTask 中的代码进行调试 VS 2017 中的 生命周期事件 下拉菜单似乎没有提供触发此类后台任务的选择 有办法做到这一点吗 首先介绍一下 UWP 的 UpdateTask 这是一个后台任务
  • facebook-ios-sdk requestWithGraphPath:@"我/朋友"

    我找不到关于这个 sdk 的任何基本文档 我只是愚蠢还是找错地方了 我不知道这个方法是什么 void request FBRequest request didLoad id result 实际上在这样的请求的情况下返回 requestWi
  • Bootstrap tabbable 和 popover 之间的冲突

    我正在尝试在同一页面中使用 Twitter Bootstrap tabbable 和 Bootstrap popovers 我在解决弹出窗口无法出现在选项卡限制之外的问题时遇到困难 问题是当弹出窗口出现在边框旁边时 它是半隐藏的 我不是 J
  • 需要授予哪些权限才能访问 sys.dba_systems

    我正在开发适用于 Oracle 的应用程序 对于某种逻辑 我需要从给定的数据库用户获取具有指定模式的表列表 就我而言 我有一个已授予给定模式访问权限的用户 因此 当我的代码使用给定的凭据创建连接并尝试从以下查询中获取表时 它返回表列表 SE
  • Laravel 5 委托一条路由 - 根据角色加载不同的控制器

    所以我刚刚开始学习 Laravel 并且我已经实现了 Entrust Role Permission 包 效果非常好 现在我的问题是 我想要一个 仪表板 页面 如下所示 example com dashboard 问题是 我不确定如何设置
  • 如何在android中使线性布局部分透明?

    我有一个RelativeLayout含 2LinearLayouts其中一个部分覆盖另一个 我想做的一部分LinearLayout顶部透明 所以我也可以看到第二个LinearLayout 知道我有 2 张图像作为 2 张图像的背景Linea
  • bash 脚本根据文件名中的日期查找旧文件

    我正在开发一个 bash 脚本 该脚本需要根据一个变量搜索单个目录中 旧 的文件 该变量指定在超过阈值之前需要经过多少天 并且文件被标记为要执行操作 可以是任何内容 从移动到存档到删除 等等 问题是文件的修改时间与确定文件需要多久才能采取行
  • 将 gitlab 包注册表中的 python 包和其他外部索引直接包含到 setup.py 依赖项中

    The gitlab包注册表 https docs gitlab com ee user packages 可以用来publish https docs gitlab com ee user packages pypi repository
  • 如何将小程序作为应用程序运行?

    我有一个 Applet 类 我想让它作为应用程序运行 所以我编写了以下代码 public static void main String args JFrame app new JFrame Applet Container app set
  • 在 jboss 中加载 HTML 图像

    我有 HTML 页面 放在临时文件夹 WEB INF 目录之外 中 我在 HTML 页面中使用了一些图像 我也将这些图像放入临时文件夹中 然后创建了我的 war 文件 当我在 localhost 中运行该程序时 图像不会加载到 HTML 页
  • 如何在 JavaScript 中将所有对象属性设置为 null?

    我正在使用 Vue 突然使用一些计算的 cssvuetify https vuetifyjs com不管用 我声明对象的方式是 personal info 在我的模板中 我可以这样做personal info name以及每个文本输入 v
  • 在外部网络上托管 Expo 应用程序?

    我正在编写一个应用程序create react native app CRNA 为一家公司 最终 它可能会投入生产 但出于研究原因 我需要一个可以轻松部署到同事手机 Android 和 iOS 的工作原型 由于知识产权的原因 我不得在任何外
  • C#图表控件删除条形图中条形之间的空格

    I have a bar chart made with the c net chart control that looks like the following 正如您所看到的 图表上每对红色和蓝色条之间都有一个空格 有没有办法删除这些
  • Pandas 时间戳以 30 秒为单位不一致

    我试图将 pandas DatetimeIndex 或 Timestamp 舍入到最接近的分钟 但我遇到了 30 秒时间戳的问题 有些向上舍入 有些向下舍入 这似乎是交替的 有什么建议可以解决这个问题 以便 30 总是四舍五入吗 gt gt
  • 比较两个 Doctrine_Record 对象

    我如何比较两个Doctrine Record对象看看它们是否 相等 在我正在考虑的域登录中 如果两个对象具有相同的属性值 则它们相等 除了id和created at and updated at字段 a laTimestampable 我想
  • Django 迁移卡住了

    我有一个新字段要添加到我的数据库中 所以我说 python manage py makemigrations 这正确地创建了kernel migrations 0003 auto 20150726 1911 py 我检查了内容 一切看起来都
  • PostgreSQL 9.3:函数不唯一错误

    我创建了以下具有 11 个参数的函数 如下所示 函数调用 SELECT FROM function TableDetails NULL Type Table 2671ffdb 28a4 4ce4 a226 e5a21d66509e D096
  • 在android中录制原始视频格式

    我对安卓完全陌生 是否可以在 android 中从相机录制原始视频格式 基本上我有一个与 ICS 一起运行的 pandaboard 我连接了 USB 摄像头 iball 现在我想从 USB 摄像头录制原始视频格式 该相机支持原始视频格式我已
  • 是否有必要保护 JAX-RS 请求免受 CSRF 影响?

    是否有必要保护 JAX RS 请求免受攻击CSRF https en wikipedia org wiki Cross site request forgery By 定义 https en wikipedia org wiki Repre