【发布时间】:2010-04-26 17:11:15
【问题描述】:
我是服务器端编程的新手,所以如果这里变得混乱,请原谅我。我已签约创建一个 Web 服务,以允许经过身份验证的用户访问数据库。用户必须输入登录名和密码。一直在阅读和阅读有关 REST 与 SOAP 的内容,当我遇到以下声明时,我认为我已经决定采用 RESTful 设计:“需要安全的数据不应作为 URI 中的参数发送。”这似乎是 RESTful 方法的主要缺点。我知道使用 https 会加密密码以防止中间人拦截,但这会将服务器日志和客户端历史记录作为可能的暴露点。是否有针对此问题的 RESTful 解决方案,或者我是否需要使用 SOAPy?任何建议表示赞赏。
【问题讨论】:
-
为什么要通过 URI 传递密码,这显然是未加密的纯文本?如果是这种情况,那为什么还要首先输入密码呢?
-
就像我说的,我是新手。在研究 Web 服务和 REST 与 SOAP 时,似乎正在形成的共识是 REST 更简单并且适用于大多数场景。在试图确定什么属于“大多数情况”以及什么不属于,我认为我发现了身份验证异常;也就是说,在 RESTful 设计中,所有内容都在 URI 或标头中传递,这两者都是易受攻击的。所以我只是想知道这是否属实,或者是否有一种安全且 RESTful 的方式来使用用户名和密码进行身份验证。