发现问题

在前端页面中远程调用服务器接口时报403错误,而直接在浏览器访问则不会报错。
  Ajax调用结果:

  浏览器调用结果:

报403原因

经过分析发现是因为前端和服务器的域名不同而触发了防盗链机制。

防盗链机制

防盗链机制是基于http请求头的referer实现的,refer就相当于浏览器页面地址的id,浏览器向服务器发起请求时,会携带referer,服务器通过referer来判断是否是自己的域名,如果不是就会拒绝访问,如果是,则继续访问。

解决办法

对于自身项目而言,解决跨域问题可以通过代码设置允许的域。代码如下:

@Configuration
public class GlobalCorsConfig {@Beanpublic CorsFilter corsFilter() {//1.添加cors配置信息CorsConfiguration config = new CorsConfiguration();// 允许的域(根据需要进行设置),不要写*,config.addAllowedOrigin("http://localhost:6334");//是否发送cookie信息config.setAllowCredentials(true);//允许请求的方式config.addAllowedMethod("OPTIONS");config.addAllowedMethod("HEAD");config.addAllowedMethod("GET");config.addAllowedMethod("PUT");config.addAllowedMethod("POST");config.addAllowedMethod("DELETE");config.addAllowedMethod("PATCH");//允许的头信息config.addAllowedHeader("*");//有效时长config.setMaxAge(3600L);//添加映射网络,拦截一切请求UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource();configurationSource.registerCorsConfiguration("/**", config);//返回新的CorsFilterreturn new CorsFilter(configurationSource);}
}

ajax 调用服务器接口报403错误解决办法相关推荐

  1. vue-cli 项目打包后 代理接口报404错误 解决办法!

    1.启动nginx cd usr/local/nginx/sbin ./nginx 2.找到nginx安装目录 whereis nginx cd usr/local/nginx/ 3.打开nginx ...

  2. ajax的post请求出现403错误,如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题...

    如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题 发布时间:2021-02-05 14:23:57 来源:亿速云 阅读:92 作者:小新 这篇文章主要介绍了如何解决Dj ...

  3. 微信上传图文素材接口报41005错误解决方法

    微信上传图文素材接口报41005错误解决方法 参考文章: (1)微信上传图文素材接口报41005错误解决方法 (2)https://www.cnblogs.com/gy1010/p/6674529.h ...

  4. idea提交git报401错误解决办法

    idea提交git报401错误解决办法 打开当前git项目中的 .git文件夹,打开config 文件 有一句是这样的 [remote "origin"] url = http:/ ...

  5. 【从零之三(更)】自定义类中调用讯飞语音包错误解决办法

    原文:http://blog.csdn.net/monkeyduck/article/details/24302655 在科大讯飞语音包的Mscdemo中它的方法都是写在Activity中的,这样其实 ...

  6. python token post403原因_Django中ajax发送post请求 报403错误CSRF验证失败解决方案

    前言 今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败:先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了 ...

  7. win8安装wampserver报403错误解决方法

    看着别人开始体验win8了,前几天我也安装了win8系统,总体来说还不错,但是今天安装完Wampserver后,浏览器输入localhost,竟然报了403错误,我以为我安装出错了,后来研究了半天,发 ...

  8. C C++ 调用第三方DLL库失败 LoadLibrary 返回NULL 并报 126 错误 解决办法

    在之前有写关于生成dll文件以及调用dll的方法:https://blog.csdn.net/Hilaph/article/details/104917856 而在vs2019新开一个项目并运行调用相 ...

  9. 访问nginx默认页报403错误解决方法

    一般有三种原因造成403拒绝访问. 1.防火墙,关闭就行 2.没有对访问页的可读权限,一般去nginx/html/下把index.html权限改为664即可 以上两种原因我均测试过,但是访问还是报40 ...

最新文章

  1. 一个精简的开源点云库
  2. python --error整理(不定时更新)
  3. python怎么和sql一起用_自己写的Python数据库连接类和sql语句拼接方法
  4. SAP Spartacus的persist focus,触发map set的条件
  5. linux jar和zip,Linux命令———zip和jar文件压缩解压
  6. JSON 之 SuperObject(3): 访问
  7. mysql处理emoji表情_mysql支持emoji表情存取的解决方案
  8. 机器学习入门经典好文
  9. vpx计算机论文,高端计算机系统架构设计与VPX总线
  10. cool edit pro 2.1中文版未定义外部错误怎么解决
  11. html三级导航栏编写
  12. C语言show用法,show的用法和例句
  13. sharp计算机按钮配置,将Sharp TV HDMI接口连接到计算机并设置教程
  14. 【毕业季】总结过去,展望未来
  15. 干货分享:数据分析面试一般都问啥?
  16. AE模板 正文00:39 / 00:51抽象视差优雅大气科幻时尚视频幻灯片AE模板
  17. rrpp+ospf环网组建
  18. 字符串转换,大写变小写,小写变大写
  19. python爬取携程网旅游_爬虫之携程网旅游信息爬取
  20. oracle第三章、第四章作业

热门文章

  1. ArangoDB集群搭建
  2. 计算机中两个数相乘用什么函数,2. 在Excel中将多个单元格相乘的乘法公式
  3. 双因子认证系统登录模块
  4. 双足人形机器人在社会中的实际用途
  5. 使用Charles清除沙盒(苹果)账号上的订单(掉单的)
  6. 【转载】Ajax与Controller数据交互
  7. LOAM 论文 LIDAR MAPPING 部分翻译
  8. 与吉日嘎拉工作的点滴感受
  9. double 转float 损失精度
  10. HttpServlet 会话管理(一)(URL重写 表单隐藏域 简单示例)