Questions tagged «stateless»


2
使用无状态(=无会话)身份验证时需要CSRF令牌吗?
当应用程序依赖无状态身份验证(使用HMAC之类的东西)时,是否有必要使用CSRF保护? 例: 我们只有一个页面应用程序(否则,我们必须在每个链接上附加令牌:<a href="...?token=xyz">...</a>。 用户使用进行身份验证POST /auth。成功认证后,服务器将返回一些令牌。 令牌将通过JavaScript存储在单页应用程序内的某个变量中。 该令牌将用于访问受限制的URL,例如/admin。 令牌将始终在HTTP标头中传输。 没有Http会话,也没有Cookie。 据我了解,应该不会(?!)使用跨站点攻击,因为浏览器不会存储令牌,因此它无法自动将令牌发送到服务器(使用Cookies /时会发生这种情况。会话)。 我想念什么吗?

2
如何进行无状态(无会话)和无cookie的身份验证?
鲍勃使用Web应用程序来实现目标。和: 他的浏览器处于节食状态,因此不支持cookie。 Web应用程序是一种流行的应用程序,它在给定的时刻可以与许多用户打交道-它必须很好地扩展。只要保持会话会限制同时连接的数量,并且当然会带来不可忽略的性能损失,我们可能希望拥有一个无会话系统:) 一些重要的注意事项: 我们确实具有传输安全性(HTTPS及其最好的朋友); 在幕后,Web应用程序代表当前用户(这些系统确实将Bob识别为用户之一)将很多操作委托给外部服务 -这意味着我们必须向他们转发Bob的凭据。 现在,我们如何对Bob进行身份验证(针对每个请求)?哪种方法可以实现这种情况? 通过HTML表单隐藏字段使用凭据打网球 ... 球包含凭据(用户名和密码),两个球拍分别是浏览器和Web应用程序。换句话说,我们可以通过表单字段而不是通过cookie来回传输数据。在每个Web请求中,浏览器都会发布凭据。但是,对于单页应用程序,这看起来像是在橡胶墙上打壁球,而不是打网球,因为包含凭据的Web表单可能会在整个页面生命周期中保持有效 (并且服务器将配置为不提供凭据)。 将用户名和密码存储在页面的上下文中-JavaScript变量等。此处需要单页,恕我直言。 基于加密令牌的身份验证。在这种情况下,登录操作将导致生成加密的安全令牌(用户名+密码+其他内容)。该令牌将被发还给客户端,并且即将到来的请求将带有令牌。这有意义吗?我们已经有了HTTPS ... 其他... 不得已:不要这样做,将凭据存储在会话中!会议很好。有或没有cookie。 关于上述任何想法,您是否会想到任何Web /安全性问题?例如, 超时 -我们可以保留一个timestamp以及凭据(时间戳= Bob输入凭据的时间)。例如,当NOW-timestamp> threshold时,我们可能会拒绝该请求。 跨站点脚本保护-不应有任何不同,对吗? 非常感谢您抽出宝贵的时间阅读本文:)

8
无状态与有状态-我可以使用一些具体信息
我对某些文章感兴趣,这些文章提供了有关编程中无状态和有状态设计的一些具体信息。我很感兴趣,因为我想了解更多有关它的信息,但是我真的找不到任何有关它的好文章。我已经在网上阅读了数十篇文章,这些文章含糊地讨论了这个主题,或者他们谈论的是Web服务器和会话-它们也“关于有状态与无状态,但是我对编码中的无状态与有状态设计感兴趣” 。示例:我听说BL类在设计上是无状态的,实体类(或者至少我称之为类-如Person(id,name,..))是有状态的,等等。 我认为知道这一点很重要,因为我相信,如果我能理解它,就可以编写更好的代码(例如,注意粒度)。 总之,简而言之,这就是我所说的“有状态与无状态”: 有状态的(例如WinForms):存储数据以供进一步使用,但由于受CPU或内存限制的限制,因此限制了应用程序的可伸缩性 无状态(类似于ASP.NET-尽管ASP试图使ViewStates保持有状态):完成操作后,将传输数据,并将实例交还给线程池(无定形)。 如您所见,这是非常模糊和有限的信息(并且非常侧重于服务器交互),因此,如果您能为我提供更多美味的信息,我将不胜感激:)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.