Skip to content

Author: csdaomin

为什么ID使用Int而不是unsigned int

最近公司把某些业务实体的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…

关于CSRF

要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。