2016-07-24 24 views
2

我正在开发一个社交网络,我想知道如果在用户的个人资料页面中,我可以将用户标识存储在数据库中作为url中的参数,或者在安全性方面它是一个坏主意吗?将用户标识作为url参数安全吗?

我想让网址成为书签。我应该把另一件事情,而不是用户ID?

回答

4

就安全性而言,将用户标识放在网址中没有问题。例如,StackOverflow已经做到了这一点:https://stackoverflow.com/users/3477044/aliuk

重要的是验证当前已通过身份验证的用户是否被允许访问此URL并代表其执行操作。

+0

其他用户也可以查看此网址,但不会在此处进行任何更改。 –

0

大多数社交网络我一直在使用,使用用户名作为url不id,当然它也影响seo,因为你有“漂亮的网址”。

安全性实际上取决于你如何编写你的代码,比如说有一个页面可以编辑配置文件,如果你把你的代码放在这里: UPDATE .. SET .. WHERE id = $ _GET ['id' ]

毫无疑问,这是危险的,你应该检查每个用户的行动,例如张贴/编辑个人资料等,谁是登录,没有什么是对当前的URL标识

0

如果您保护您的网站针对SQL它是安全的注射。 但是,如果违反事件发生,所有用户都可以使用。只有黑客需要做的事情是找到用户配置文件获取他的ID。复制sql注入的输出。转到文本编辑器。按ctrl - f并搜索用户标识。

+0

但是黑客可以使用其他任何数据而不是用户标识来做同样的事情,不是吗? – Aliuk

+0

你的答案缺乏很多。这个问题不仅仅是SQL注入,还包括直接暴露URL中的任何数据库ID带来的操作安全问题以及不安全的直接对象引用。 –

相关问题