问题听起来可能类似于Resful Designs下的大量信息。
我已经阅读了很多文章,经历了大量的教程,试图了解Resful应用程序的工作原理。我看到一堆t ..看着OAuth,但这不是我需要的......
由于安全是我的主要关注点,我已经遇到了如何处理nonce / hashes的问题!??
nonce / hashes是什么意思;
我有一个使用laravel 4.1的Restful应用程序。框架,用户可以使用Auth :: User()实现登录。一切都很好。我对该应用程序的所有要求都是CRUD。
为什么我要使用nonces / hash;
让我在我的资源中的api前缀下有 @DELETE Route(“workouts / {id}”) 用户可以使用 example.com/api/workouts/1 删除锻炼吗?不必像示例那样附加 {nonce} 这样的链接。 com / api / workouts / 1 / nonce / 12321321313 ,因为每个其他用户都可能伪造重定向用户并让一个人删除自己的锻炼吗?
大多数文章表明; 据我所知,出于安全方面的考虑,我应该向服务器发送一个nonce以及每个 ajax请求,然后服务器必须验证并回复客户端的信息以及新的nonce用于下一个请求?这是性能杀手,但它是这样的吗?
HTTPS请求?没有TOKENS /哈希或随机数? 所以有人说在安全登录(有效凭证)后在HTTPS PROTOCOL下,不再需要为每个请求(例如CRUD)发送一个nonce(到服务器)。使用凭据进行身份验证足以验证用户的货物。
浏览所有Laravel角度教程 没有提到使用令牌或任何东西,至少不是我见过的。
我的主要问题是我应该如何设计服务器端路由,以便使用令牌,随机数或散列等对服务器发出更安全的请求?
我知道有很多主题,但它们对我来说似乎非常理论化。我不知道哪些是准确保护的,哪些不是。非常感谢您耐心阅读并希望得到一些准确的答复。
并原谅我的英语:)..
答案 0 :(得分:0)
我认为使用术语RESTful应用程序有点误导。但是,如果您使用REST API,则应该查看JSON Web Token以验证API用户的身份。
这里有一些有用的链接:JSON Web Token,一个Laravel包jwt-auth和一个Angular示例,请记住Angular示例是使用Node.Js但它可以与Laravel。
如果您只是使用针对CRUD的PHP脚本的AJAX请求,为什么不使用软件包来防止Laravel的CSRF攻击,只需谷歌它,你会发现更多的教程。