前端跨域问题

如果后端接口设置了限制域名访问,能否通过node或者ajax伪装成对方的域名或ip请求到数据?

阅读 4.1k
5 个回答

可以通过niginx 配置反向代理解决跨域问题

这样的话ajax的jsonp是行不通了,可以通过node中间件来做转发

middleware: [ // 请求代理,按需设置
            proxy('/api', {
                target: 'http://op.juhe.cn', // 目标地址
                changeOrigin: true,
                ws: true, //websocket
                pathRewrite: {
                    '^/api': '' //重写地址
                }
            })
        ]

node-fetch 有跨域问题吗?没的话可以试试

如果是CORSAccess-Control-Allow-Origin的限制只能从node层就行转发了。
可以做一个简单的proxy, 将header设置为允许的域名即可。

由于浏览器安全策略,ajax 修改不了Origin、Referer 这类对于安全性有要求的请求头。

至于node,不是浏览器了,对于普通请求,没有跨域的问题。
如果你设置了限制域名访问,那么也可以修改请求头的origin、referer来达到伪装。这个是没法禁止的,只是稍微提高一下反爬门槛而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题