微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

语言不可知 – 我应该遮盖主键值吗?

我正在构建一个Web应用程序,其中前端是高度专业化的搜索引擎.搜索在主URL处理,当用户点击搜索结果进行更详细的显示时,将用户传递到子目录.这个切换是作为GET请求完成的,主键是在查询字符串中传递的.我似乎回想起在某处向用户公开主键的地方不是一个好主意,所以我决定实施可逆加密.

我开始怀疑我是否只是偏执狂.可逆的加密(base64)可能很容易被任何关心尝试的人打破,使得URL非常丑陋,也比其他情况更长.我应该只是删除加密并发送我的主键清除?

解决方法

你在做什么是基本的混淆.一个可逆的加密(和base64并不算作加密)主键仍然是一个主要的关键.

你正在阅读的内容是这样的:你通常不希望你的主键在系统之外有任何意义.这被称为技术主键而不是自然主键.这就是为什么你可以为患者ID而不是SSN使用自动编号字段(这称为自然主键).

技术主键通常比自然主键更受欢迎,因为看起来不变的事情会改变,这可能会导致问题.即使是国家也可以存在,不再存在.

如果您确实有技术主键,则不希望通过给予他们自己的意思,使它们成为事实上的自然主键.我认为在URL中放一个主键是很好的,但安全是一个单独的主题.如果有人可以更改该URL并获得访问权限,那么它们不应该访问,那么这是一个安全问题,需要通过身份验证和授权来处理.

有些人会争辩说用户不应该看到它们.我不认为你需要走远.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐