Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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
需要一些关于AngularJs和Slim PHP之间API调用的csrf令牌的指导吗_Php_Mysql_Angularjs - Fatal编程技术网

需要一些关于AngularJs和Slim PHP之间API调用的csrf令牌的指导吗

需要一些关于AngularJs和Slim PHP之间API调用的csrf令牌的指导吗,php,mysql,angularjs,Php,Mysql,Angularjs,我正在构建一个移动应用程序,使用AngularJS作为前端,SlimPHP作为连接Mysql的API提供程序。前端和后端位于不同的域上 因此,一个用户从Angular发布登录表单 PHP捕获它并对用户进行身份验证,然后生成一个随机令牌 然后,该令牌存储在数据库(用户表)中,并以Json格式传递回Angular Angular将令牌存储在cookie中 因此,在从Angular到API的每一次$http调用中,我都希望在头中嵌入令牌,以便PHP可以再次验证DB user表,如果调用是合法的 我

我正在构建一个移动应用程序,使用AngularJS作为前端,SlimPHP作为连接Mysql的API提供程序。前端和后端位于不同的域上

  • 因此,一个用户从Angular发布登录表单
  • PHP捕获它并对用户进行身份验证,然后生成一个随机令牌
  • 然后,该令牌存储在数据库(用户表)中,并以Json格式传递回Angular
  • Angular将令牌存储在cookie中
因此,在从Angular到API的每一次$http调用中,我都希望在头中嵌入令牌,以便PHP可以再次验证DB user表,如果调用是合法的


我想知道这是否是一个安全的解决方案

您需要研究JWT(json web令牌)

这个问题有点自以为是,不太适合StackOverflow,但是,我的意见是:我不会将CSRF令牌存储在客户端的cookie中,也不会存储在服务器端的数据库中。最好的CSRF保护形式是服务器可以为客户端执行的每个请求发出唯一的CSRF代码。CSRF令牌通常仅限于表单提交,让服务器为特定表单发出唯一的CSRF代码非常简单。angular在
$http
api中已经有一个内置令牌系统头。阅读文档以获得回复。如果CSRF不适合这里,您会推荐什么用于API调用验证?或者你介意给我指一下正确的方向吗?据我所知,如果我将服务器生成的令牌保存在客户端的cookie中,某人就可以访问cookie并假装是用户提交请求?可能有用吗