golang 服务端遇到strict-origin-when-cross-origin,解决跨域整理

这篇具有很好参考价值的文章主要介绍了golang 服务端遇到strict-origin-when-cross-origin,解决跨域整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

golang 服务端遇到strict-origin-when-cross-origin,解决跨域整理

以下内容由chatgpt中文网 动态生成,助力开发找我文章来源地址https://www.toymoban.com/news/detail-792964.html

  • 代码汇总:
func Cors() gin.HandlerFunc {
	return func(c *gin.Context) {
		method := c.Request.Method
		origin := c.Request.Header.Get("Origin")
		fmt.Println("origin",origin)
		if origin != "" {
			//接收客户端发送的origin (重要!)
			c.Writer.Header().Set("Access-Control-Allow-Origin", origin)
			//服务器支持的所有跨域请求的方法
			c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE,UPDATE")
			//允许跨域设置可以返回其他子段,可以自定义字段, 要是允许所有可以设置为 *(c.Header("Access-Control-Allow-Headers","*")
			c.Header("Access-Control-Allow-Headers", "Authorization, content-type, Content-Length, X-CSRF-Token, Token,session,Access-Control-Allow-Headers,account")
			
			// 允许浏览器(客户端)可以解析的头部 (重要)
			c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers")
			//设置缓存时间
			c.Header("Access-Control-Max-Age", "172800")
			//允许客户端传递校验信息比如 cookie (重要)
			c.Header("Access-Control-Allow-Credentials", "true")
			//c.Set("Content-Type", "application/json")
		}

		//允许类型校验
		if method == "OPTIONS" {
			c.JSON(http.StatusOK, "ok!")
		}

		defer func() {
			if err := recover(); err != nil {
				fmt.Printf("Panic info is: %v\n", err)
			}
		}()
		c.Next()
	}
}

到了这里,关于golang 服务端遇到strict-origin-when-cross-origin,解决跨域整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 谷歌浏览器请求 strict-origin-when-cross-origin 跨域问题,解决方法之一

    项目打包部署在内网后,index.html 里通过script标签引入的其他链接资源不能正常请求,报的是跨域错误 首先观察了资源请求正常和请求报错的两台电脑,发现两者请求的 Referrer Policy(引荐来源网址政策) 不同。 其次发现两个电脑的谷歌浏览器版本不同,可以正常请求的是用

    2024年02月12日
    浏览(94)
  • 学习Golang时遇到的似懂非懂的概念

    这是我学习golang的第三天,大致已经掌握了golang的语法,但是着手开发的时候,却遇到了许多问题,例如golang导包机制、golang的项目管理规范、go mod生成project怎么管理依赖的等等。其实这些概念之前也了解过,但是也只是如蜻蜓点水般的了解。正好,现在遇到了这些问题,那

    2024年02月03日
    浏览(18)
  • Golang通过Gorm操作Mysql时遇到的datetime时区问题

    golang使用Gorm操作MySQL,MySQL中数据类型是datetime,Golang中用的是time.now。 但是会导致存储的时间与北京时间有8h误差, 显然是没有初始化时区导致。 参考我自己之前写过的一篇总结——Mysql中多种日期类型——DATETIME、TIMESTAMP、TIME、YEAR、DATE的区分 datetime是给什么就存什么,

    2024年01月20日
    浏览(36)
  • Golang做项目遇到bug invalid character ‘<‘ looking for beginning of value

    1、bug描述     事先在resis中存入哈希: 创建User结构体,拥有3个字段及对应json tag 通过查询redis得到这个user的哈希value为res,为string类型“\\\"userId\\\":100,\\\"userPwd\\\":\\\"123456\\\",\\\"userName\\\":\\\"scott\\\"\\\" 我在把这个字符串转成[]byte后使用json.Unmarshal()来反序列化,把解析后的数据赋给user实例 运行

    2024年02月11日
    浏览(52)
  • MySQL运维实战(4.4) SQL_MODE之STRICT_TRANS_TABLES和STRICT_ALL_TABLES

    作者:俊达 在MySQL中,STRICT模式主要用于控制数据库的行为,有助于保持数据的一致性和完整性,特别是在涉及到数据写入、更新和其他操作时的约束。 如果设置STRICT模式,MySQL会更加严格地执行数据写入和更新等操作,当数据不符合字段定义或者违反了约束条件,MySQL将抛

    2024年01月18日
    浏览(57)
  • git push或者git push -u origin “master“报错无法连接到服务器,导致不能push到码云

    git 不能推送到码云上 文件可以放在暂存区,但是只要输入git push -u origin \\\"master\\\"命令就会报错一下情况: 设置了错误的 http 代理导致的 Git 中的 http 代理配置可以通过  git config  命令进行设置和修改。如果不小心将错误的代理配置了全局 http 代理,那么在进行 Git 操作时就可

    2024年02月05日
    浏览(54)
  • 【Vue Router】Sensitive 与 strict 路由配置

    默认情况下,所有路由是不区分大小写的,并且能匹配带有或不带有尾部斜线的路由。例如,路由 /users 将匹配 /users 、 /users/ 、甚至 /Users/ 。这种行为可以通过 strict 和 sensitive 选项来修改,它们既可以应用在整个全局路由上,又可以应用于当前路由上: strict 为 true 时,将

    2024年02月17日
    浏览(28)
  • use strict 是什么意思?使用它区别是什么?

    use strict 代表开启严格模式,这种模式下使得 JavaScript 在更严格的条件下运行,实行更严格解析和错误处理。 开启“严格模式”的优点: 消除 JavaScript 语法的一些不合理,不严谨之处,减少一些怪异行为; 消除代码运行的一些不安全之处,保证代码运行的安全; 提高编译器

    2024年02月14日
    浏览(42)
  • 知识笔记(八十九)———链式语句中partition和strict用法

    partition 方法用于是数据库水平分表 注意:不要使用任何 SQL 语句中会出现的当表名、字段名,例如 order 等。会导致数据模型拼装 SQL 语句语法错误。 partition 方法用法如下: 再者就是: strict 方法用于设置是否严格检查字段名,用法如下: 注意,系统默认值是由数据库

    2024年01月21日
    浏览(40)
  • 记录一个heatmap.js在strict模式下的bug

    ImageData的data属性只读,无法修改 出问题的在原始代码的490行~528行 重点在于527行的img.data = imgData 由于ImageData对象的data属性是只读属性,因此在严格模式下会报错的 知道问题出在哪儿了,就可以修改了, npm add heatmap.js后 node modules/heatmap.js/build里面,heatmap.js,heatmap.min.js两个都

    2024年02月13日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包