宁静的 Web 应用程序安全性

Posted

技术标签:

【中文标题】宁静的 Web 应用程序安全性【英文标题】:Restful web application security 【发布时间】:2013-05-06 19:25:41 【问题描述】:

我想知道我的网络应用程序的安全性。我有两个问题,希望你能帮我解答一下

我正在使用一个游戏框架(支持休息);我的一些 REST 路由如下所示:

GET  /mailbox/user/userId Application.getMailboxMessages

关于那个案例我有两个问题

1 .将userId 放在我的路线中会带来安全风险吗? (从服务器中的会话中获取userId 并且根本不传递userId 是我应该做的吗?)

第一个 url 引导我将 userId 放在我的 javascript 文件中。

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

2 。将userId 放在javascript 中是否存在安全风险?

3 .还有我使用 ajax 与之交互的其他用户 ID 会发生什么,我也应该对它们做些什么吗? 例如:

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

谢谢

【问题讨论】:

【参考方案1】:

广告。 1. 放置userId基本没问题,不存在安全风险(但显然可以从后端的session中获取,有时URL约定是使用/mailbox/user/self之类的链接

广告。 2.如上,就OK了。

广告。 3. 如果给定请求仅对登录用户有效,则验证该请求并返回非当前用户 id 的错误代码或不在 url 中传递 id,只需从会话中获取它,然后使用 /mailbox/user /self 以明确您对 API 用户的意图。

【讨论】:

好的,所以我可以将 userId 传递给服务器,但需要使用当前连接用户的服务器会话对其进行验证? 是的,就是这样。或者只是从会话中获取 id。

以上是关于宁静的 Web 应用程序安全性的主要内容,如果未能解决你的问题,请参考以下文章

RESTful Web 服务中的身份验证

nginx.conf 用于一个宁静的 api

HTML5+jQuery+phonegap 移动应用安全

Shibboleth 宁静的 api

宁静服务的路由策略

宁静的 DDS 执行