2011-09-18 92 views
1

我正在使用PHP和JavaScript制作一个小型的Web应用程序,并且我不知道如何“隐藏”用户的ID。让我来说明...JavaScript,通过JSON传递用户ID是一种安全风险?

我有一个页面,它使用了大量的JavaScript(它基于Google Maps API)。当用户完成他们所有的东西时,我创建了一个包含我想要写入数据库的所有东西的JavaScript对象(基本上来自地图的位置)。所以我想用AJAX将这个对象传递给另一个脚本,这当然使用JQuery(我是)非常简单。

这里存在的问题,以及我需要传递用户ID的JavaScript对象,以便它传递的脚本知道哪个用户将对象中的值关联起来。我觉得如果我通过JavaScript传递它,那么有人可以很容易地开始传递一个错误的用户ID,并将大量东西添加到与不同用户关联的数据库中。

我可以通过PHP的用户ID,但那么我怎么把JavaScript对象给PHP?

任何人都可以提供任何意见关于如何使用JavaScript传递地图数据,但不知何故不公开用户ID细节?

+2

你看过会议吗? – tjameson

+0

用户是否登录到您的应用或基于匿名访问? – Furicane

+1

通过它的声音,你已经在客户端设置了一些东西来保存userId,为什么不把它放在用户会话中,那么你不需要传递这个id呢? –

回答

1

这是一个安全风险:任何人都可以尝试编辑用户标识并覆盖其他用户的数据。 你应该考虑使用sessions,它可以让你识别服务器上的用户:当服务器收到请求时,你知道它是从哪里来的,并可以采取合适的行动。

+0

完美无缺,谢谢! – jackbot

1

就像说@约翰Richie,如果它不是匿名的(我假设没有,如果用户有ID),你应该使用session_id并通过它而不是id通过JS。一旦收到,检查session_id,检索user_id并做你的东西。

+0

非常有帮助,欢呼:)(会接受@约翰里奇先不到那里!) – jackbot

+0

没有pb。乐意效劳 ;) – guillaumepotier