Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
在100%客户端网站上隐藏令牌(JavaScript)_Javascript_Security_Token_Csrf - Fatal编程技术网

在100%客户端网站上隐藏令牌(JavaScript)

在100%客户端网站上隐藏令牌(JavaScript),javascript,security,token,csrf,Javascript,Security,Token,Csrf,我有一个PHP中的RESTAPI和一个使用此API的web应用程序。我的问题是,我只想授权我的web应用程序(以及将来的移动应用程序)使用RESTAPI 关键是,大多数RESTAPI都受到了保护,因为只有具有授权:承载“用户令牌”头的请求才能从该用户获取和请求资源(据我所知,如果不使用cookies从API端识别会话,则不存在CSRF攻击的风险,或采取任何其他必要措施来处理所述令牌的存储) 然而,我可以用登录、注册等路径做什么?这些路径没有会话,这意味着任何人都可以创建用户或从其他地方登录 问题

我有一个PHP中的RESTAPI和一个使用此API的web应用程序。我的问题是,我只想授权我的web应用程序(以及将来的移动应用程序)使用RESTAPI

关键是,大多数RESTAPI都受到了保护,因为只有具有
授权:承载“用户令牌”
头的请求才能从该用户获取和请求资源(据我所知,如果不使用cookies从API端识别会话,则不存在CSRF攻击的风险,或采取任何其他必要措施来处理所述令牌的存储)

然而,我可以用登录、注册等路径做什么?这些路径没有会话,这意味着任何人都可以创建用户或从其他地方登录

问题: 解决方案似乎是为授权其使用的每个API客户端创建一个令牌,但是如果应用程序完全用JavaScript开发,没有服务器端语言,我如何使用和存储该令牌而不公开它?
如果在登录表单中使用CSRF令牌,我如何在web上用JavaScript实现它,这样其他人就不能这么做了?

你没有。客户端上的所有内容都是公开的。如果没有公开,客户端就不会有。如果你不想让任何人都能够注册你的站点,那么这就意味着通过邀请或转介过程加入。他们可以读取您的源代码,可以使用浏览器开发人员工具窥探所有流量。如果您使用免费代码混淆器,他们可以使用匹配的免费反混淆器。您可以通过从服务器获取客户端请求令牌,并经常更新客户端以更改该请求过程来降低他们的速度不同版本之间的ss。您不需要。客户端上的所有内容都已公开。如果未公开,客户端将不会拥有它。如果您不希望任何人都能够注册您的网站,那么这意味着通过邀请或转介过程加入。他们可以阅读您的源代码,可以使用浏览器监视所有流量开发者工具。如果您使用免费代码混淆器,他们可以使用匹配的免费反混淆器。您可以通过从服务器获取客户端请求令牌,并经常更新客户端以在版本之间更改该请求过程,来降低它们的速度。