2013-05-06 104 views
1

我想知道一些关于我的web应用程序的安全性。我有两个问题,我希望你可以帮助我他们Restful Web应用程序安全

我使用的是一个播放框架(它支持休息);我的一些REST的路线是这样的:

GET /mailbox/user/{userId} Application.getMailboxMessages 

我有一个关于该案件

1两个问题。是否将userId放在我的路线中使其成为安全风险? (没有充分利用会议userId在服务器和没有通过userId在所有是我应该做的?)

的第一个网址让我放置userId在我的JavaScript文件。

$.ajax({ 
    type:"GET", 
    url:"/mailbox/user/"+window.userId, 
    success : function() {....} 
}) 

2。在JavaScript中放置userId是否具有安全风险?

3。还有其他用户id与我使用ajax进行交互时会发生什么,我是否也应该对他们做些什么? 例如:

$.ajax({ 
    type: "POST", 
    url : "/sendMessage/userFrom/"window.userId+"/userTo/"+ someTargetUserVar , 
    success: function() {//update some gui here} 
}) 

谢谢

回答

2

广告。 1.放置userId基本上没问题,但不是安全风险(但你可以很明显地从后台的会话中获得它,有时URL转换是使用像/ mailbox/user/self这样的链接

Ad。2.如上,这是可以的

广告3.如果给定的请求仅对已记录的用户有效,那么要么验证该请求并返回非当前用户的id的错误代码,要么不在URL中传递id,只是从会话中获取它,然后使用/ mailbox/user/self来明确你的API用户意图。

+0

好吧,所以我可以将userId传递给服务器,但需要使用服务器会话验证当前连接用户? – 2013-05-06 19:50:01

+0

是的,这是要走的路,或者只是让我d来自会议。 – 2013-05-06 19:50:53