snowy3070702110
snowy3070702110
采纳率0%
2020-08-04 01:56

求大神帮助,安全测试跨域资源共享问题该怎么解决?

600

我正在做的测试上传文件安全测试,网站其他的都没有跨域问题,都已经解决
就是上传文件的时候,一直被扫出有跨域问题,看了很多帖子都说浏览器会自动
屏蔽以下组合:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
但是我的网站就是没有屏蔽,一直存在跨域问题,如图所示图片说明

即使修改了Access-Control-Allow-Origin的值,指定一个域名 可是用Chrome查看
会出现两条记录 一条是Access-Control-Allow-Origin带* 一条是Access-Control-Allow-Origin 指定的域名,求各位大神救救孩子吧,我太难了。。。

我用的是Nginx配置的。

我用的BurpSuite软件扫出来的安全漏洞,我看了一下 issue detail Access-Control-Allow-Origin带* 就是不安全的

我贴一下安全扫描报告

图片说明

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 9月前

    这个不同的浏览器不一样,有的浏览器(特别是现代的浏览器)可能不会理会服务器的Access-Control-Allow-Origin
    你找一个老一点的浏览器,比如IE11看看。对于新的浏览器,还需要用户手动在客户端允许跨域。

    点赞 2 评论 复制链接分享
  • kingwolf_JavaScript 浴火_凤凰 9月前

    好多网站 都是因为没有这个头部而发愁 楼主却恰恰相反。。。

    首先这个头部是有大作用的 尤其是对于提供第三方查询服务器的网站 这个头部是必须的 没有这个头部反而是不对的。

    楼主使用Burp扫出来的不安全 并不是说这个头部不安全 而是说Access-Control-Allow-Origin带* 就是不安全的

    使用星号的话 就是自己的网站 可以让任何网站给自己发请求 并且都会返回信息 这个
    任何人都可以给自己发请求肯定是不安全的
    所以建议Access-Control-Allow-Origin:http://www.有必要访问自己资源的域名.com
    设置成具体的域名。如果没有别的网站从自己这里获取信息 可以删除这个头部

    至于楼主说的 设置具体域名之后 出现 两个 Access-Control-Allow-Origin

    原因可能是 Nginx设置了 Access-Control-Allow-Origin

    你的后端代码又设置了一遍 Access-Control-Allow-Origin

    就是这个头部 不是只有Nginx才能设置的 代码也可以设置 比如Java PHP 都可以通过代码设置这个头部

    下面是总结:如果有别人访问你的服务器的需求 就把Access-Control-Allow-Origin:设置为一个具体的域名

    如果没有这种需求 就删除Access-Contro开头的所有头部

    不管是设置一个域名 还是删除所有 都得记得检查两个地方
    一个是Nginx配置里改了 然后找一个工具 全局搜索你的web项目,把项目代码里的设置也改了

    然后重启Nginx 即可。

    点赞 评论 复制链接分享
  • dsxjinzhiqiang dsxjinzhiqiang 9月前

    可以试试这样配置
    add_header 'Access-Control-Allow-Origin' $http_origin;
    add_header Access-Control-Allow-Methods 'GET,POST';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';图片说明
    把图中哪个换成上面的配置信息

    点赞 评论 复制链接分享
  • jingluan666 jingluan666 9月前

相关推荐