Angular CSP阻止来自S3的图像

Angular CSP阻止来自S3的图像,angular,amazon-web-services,amazon-s3,Angular,Amazon Web Services,Amazon S3,我有一个客户端,它将一个图像上传到服务器,然后,服务器将该图像上传到S3,等待URL,然后返回该图像的URL 问题在于,由于某种原因,客户端拒绝加载服务器提供的映像 在控制台中,这是我收到的消息(出于隐私原因删除了实际URL): 拒绝加载图像“URL”,因为它违反了以下内容安全策略指令:“img src‘self’data:” 上载的图像具有所有读取权限,因此任何人都可以读取url HTML中的CSP如下所示: 我必须说,我正在向客户端传递由amazon创建的URL。例如: https://m

我有一个客户端,它将一个图像上传到服务器,然后,服务器将该图像上传到S3,等待URL,然后返回该图像的URL

问题在于,由于某种原因,客户端拒绝加载服务器提供的映像

在控制台中,这是我收到的消息(出于隐私原因删除了实际URL): 拒绝加载图像“URL”,因为它违反了以下内容安全策略指令:“img src‘self’data:”

上载的图像具有所有读取权限,因此任何人都可以读取url

HTML中的CSP如下所示:

我必须说,我正在向客户端传递由amazon创建的URL。例如:


https://mybucket.s3.us-west-2.amazonaws.com/ecc6898f-56b1-4ad1-bb73-3b5c9749d264.jpeg

当指令中有其他条目时,通配符似乎被忽略

所以试试这个:

<meta http-equiv="Content-Security-Policy" content="default-src *; img-src https 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

当指令中有其他条目时,通配符似乎被忽略

所以试试这个:

<meta http-equiv="Content-Security-Policy" content="default-src *; img-src https 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

这是固定的

这个angular应用程序运行在一个服务器上,该服务器也运行一个带有SpringSecurity的JavaSpringBoot

Spring security有一个配置函数,可以覆盖服务器的HTTP行为(出于安全原因,从示例中删除了URI):

@Override
public void configure(HttpSecurity http) throws Exception {
    // @formatter:off
    http
        .csrf()
        .disable()
        .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
        .exceptionHandling()
        .authenticationEntryPoint(problemSupport)
        .accessDeniedHandler(problemSupport)
    .and()
        .headers()
        .contentSecurityPolicy("default-src 'self'; frame-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://storage.googleapis.com; style-src 'self' 'unsafe-inline'; img-src * 'self' data:; font-src 'self' data:")
    .and()
        .referrerPolicy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN)
    .and()
        .featurePolicy("geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; fullscreen 'self'; payment 'none'")
    .and()
        .frameOptions()
        .deny()
    .and()
        .sessionManagement()
        .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
    .and()
        .authorizeRequests()
        .antMatchers("/api/endpoint").permitAll()
        .apply(securityConfigurerAdapter());
    // @formatter:on
}
这是固定的

这个angular应用程序运行在一个服务器上,该服务器也运行一个带有SpringSecurity的JavaSpringBoot

Spring security有一个配置函数,可以覆盖服务器的HTTP行为(出于安全原因,从示例中删除了URI):

@Override
public void configure(HttpSecurity http) throws Exception {
    // @formatter:off
    http
        .csrf()
        .disable()
        .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
        .exceptionHandling()
        .authenticationEntryPoint(problemSupport)
        .accessDeniedHandler(problemSupport)
    .and()
        .headers()
        .contentSecurityPolicy("default-src 'self'; frame-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://storage.googleapis.com; style-src 'self' 'unsafe-inline'; img-src * 'self' data:; font-src 'self' data:")
    .and()
        .referrerPolicy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN)
    .and()
        .featurePolicy("geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; fullscreen 'self'; payment 'none'")
    .and()
        .frameOptions()
        .deny()
    .and()
        .sessionManagement()
        .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
    .and()
        .authorizeRequests()
        .antMatchers("/api/endpoint").permitAll()
        .apply(securityConfigurerAdapter());
    // @formatter:on
}

不起作用,仍然具有完全相同的行为。这一点仍然相同吗?…因为它违反了以下内容安全策略指令:“img src‘self’data:“是的,我把它修好了。是Spring Security搞乱了,覆盖了CSP。谢谢你的帮助!没问题。一切都很好,结果很好。没有工作,仍然有完全相同的行为。这一点还是一样的吗?”…因为它违反了以下内容安全策略指令:“img src‘self’data:“是的,我把它修好了。这是春季安全混乱,凌驾于CSP之上。谢谢你的帮助!没问题。一切都好,结局都好。”。