Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php REST身份验证_Php_Rest_Authentication_Xss - Fatal编程技术网

Php REST身份验证

Php REST身份验证,php,rest,authentication,xss,Php,Rest,Authentication,Xss,在Javascript应用程序中使用RESTful身份验证时,状态保持在客户端。 对服务器的请求应该相互独立,并且每个请求都应该进行身份验证 这意味着密码或accesstoken(社交媒体身份验证)以cookie的形式存储在客户端。似乎没有办法解决这个问题。 就安全性而言,cookie仍然被认为是“公共的”,因为可能的XSS攻击可能使攻击者能够访问cookie。 另一方面,在数据库中,密码/accesstoken也应该以加密形式存储 所以我不明白。加密密码/accesstoken然后将其存储在c

在Javascript应用程序中使用RESTful身份验证时,状态保持在客户端。 对服务器的请求应该相互独立,并且每个请求都应该进行身份验证

这意味着密码或accesstoken(社交媒体身份验证)以cookie的形式存储在客户端。似乎没有办法解决这个问题。
就安全性而言,cookie仍然被认为是“公共的”,因为可能的XSS攻击可能使攻击者能够访问cookie。
另一方面,在数据库中,密码/accesstoken也应该以加密形式存储

所以我不明白。加密密码/accesstoken然后将其存储在cookie中是没有意义的。如果攻击者获得cookie,则用户的加密凭据同样不安全,并可用于与存储在数据库中的加密密码进行匹配

以这样或那样的方式;如果cookie被盗,则攻击者与用户具有相同的访问权限。我怎样才能防止这种情况发生


注意,我希望使用RESTful身份验证,其中用户独立地对每个请求进行身份验证

如果您在cookie中存储了一个有时间限制的身份验证令牌,该令牌会随着每个请求而变化,那么cookie是否被禁用并不重要。有时间限制的令牌的值是它将在(例如)5分钟内过期,因此joe或jane hacker的机会窗口非常有限。我倾向于同意,但我觉得在结构上不舒服。如果攻击者对不同的用户进行了足够的尝试,以知道从何处获取数据,我想私人数据可能会在不到一分钟的时间内被盗。这是我至少期望的。你可以随时应用其他检查,比如在令牌中包含浏览器签名的散列,你让黑客访问变得困难,你永远不会让它完全不可能。你期望绝对的保证吗。。。。。这里有很多不同的技巧——值得寻找最佳建议/实践的地方包括