1.Describe your role Tense: present simple and continuous I’m responsible for our website and managing the IT systems. But I also develop new system for…
面向生活编程,每天开心最重要!
1.Describe your role Tense: present simple and continuous I’m responsible for our website and managing the IT systems. But I also develop new system for…
最近公司把某些业务实体的ID从int32迁移到了int64。这些ID的合法数据都是大于1的,为什么不选择unsigned int64 而要选择 int64 呢? unsigned 类型相对来说可用的合法id可是大了一倍呀。 有两个原因: 1, 对齐数据类型,避免溢出或其他兼容性问题 某些数据存储,如postgress是不支持unsigned integer 类型的。比如postgresSql。 PostgresSQL Type Go Type smallint, smallserial int16(-32768 ~ 32767) int, serial int32…
实际上ubuntu20.04LTS是支持到2025年的,所以有稳定需求的是可以不升级的。喜欢折腾,就可以尝试升级到22.04。
chair a meeting by dmic and participate a meeting with prep/sear skills
Csrf也被称为Session Riding,是不是不使用session的无状态服务就没有csrf问题了呢?客户端可以使用一个安全的token(比如JWT)。
是否存在CSRF问题取决于客户端怎样存储和发送token。
Struct是一个用户定义的类型,包含一系列的字段。它通常被作为一个整体组织相关的数据。相对java来说,就类似一个没有继承特性的贫血模型类。
要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。
每次用户登录的时候,都返回一个新的session_id即可。成熟的系统基本都没这个问题,玩具项目或代码review的话,就需要注意下了。
在日志库中通常可以看到runtime.Caller 。它被用来提供当前日志操作的源文件信息。
Golang web项目中提供静态文件使用,可以用自带的http.FileServer 。