Ryu*_*Ryu 22 architecture security database-design web-applications data-modeling
我经常遇到通过选择框等形式公开内部数据库主键的Web应用程序.偶尔我会看到javascript匹配一个切换逻辑的int或guid魔术值.
最佳做法是避免泄露Web应用程序中行的所有内部标识符,以防止外人了解您的系统太多,并可能使用它来利用您的系统.如果是这样,解决这个问题的最佳方法是什么?
您是否应该向Web应用程序公开可以转换回主键的其他值?
谢谢
编辑
在一个完美的世界中,您的应用程序将是100%安全的,因此如果您遮挡了一些东西并不重要.显然情况并非如此,所以我们是否应该谨慎对待并且不公开这些信息?
有人指出Stackoverflow可能暴露了Url中的一个密钥,这可能很好.但企业应用程序的注意事项有何不同
cle*_*tus 25
我不同意暴露主键是一个问题的立场.如果您让用户看到它们可能会出现问题,因为它们在系统外部具有意义,这通常是您要避免的.
但是,使用ID作为组合框列表项的值?我说,去吧.从一些中间价值进行翻译有什么意义?您可能没有唯一的密钥可供使用.这样的翻译引入了更多的漏洞潜力.
只是不要忽视安全.
如果说你向用户展示了6个项目(ID 1到6),那么永远不要假设你只会从用户那里获得这些值.有人可以通过发回ID 7来尝试破坏安全性,因此您仍然需要验证您获得的内容是否被允许.
但完全避免这样做?没门.没必要.
正如对另一个答案的评论所说,请查看此处的URL.这包括无疑是SO数据库中问题的主要关键.公开用于技术用途的密钥完全没问题.
此外,如果您确实使用了一些代理值,那不一定更安全.
| 归档时间: |
|
| 查看次数: |
5274 次 |
| 最近记录: |