Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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
Javascript React.js中的安全问题_Javascript_Reactjs_Security - Fatal编程技术网

Javascript React.js中的安全问题

Javascript React.js中的安全问题,javascript,reactjs,security,Javascript,Reactjs,Security,我正在React.JS上构建我的第一个应用程序,我想知道如何在客户端实现简单的安全性,因为我看到了一些漏洞,例如,如果您查看页面源代码,脚本标记会显示您使用所有功能和呈现页面制作的所有组件,此外,如果有一个基本的方法来阻止XSS的发生,我可以在此基础上构建,我也希望看到这一点 我担心的是,任何人如何在react上查看页面源代码,以及如何从脚本标记中查看组件,因为浏览器必须查看并呈现代码源,所以无法阻止人们在浏览器上查看代码源。您可以使人们更难访问inspect元素,但总有一种方法可以到达它 至于

我正在React.JS上构建我的第一个应用程序,我想知道如何在客户端实现简单的安全性,因为我看到了一些漏洞,例如,如果您查看页面源代码,脚本标记会显示您使用所有功能和呈现页面制作的所有组件,此外,如果有一个基本的方法来阻止XSS的发生,我可以在此基础上构建,我也希望看到这一点


我担心的是,任何人如何在react上查看页面源代码,以及如何从脚本标记中查看组件,因为浏览器必须查看并呈现代码源,所以无法阻止人们在浏览器上查看代码源。您可以使人们更难访问inspect元素,但总有一种方法可以到达它

至于XSS,您在客户端所能做的只是验证输入和清理,但您可以通过观察网络流量和直接通过自己的http请求提交坏数据来绕过这一问题


客户端就是这样,服务于客户端。

我建议您在后端保护您的服务,因为任何人都可以通过邮递员向服务器请求,并可以在BurpSite中记录和重复您的请求;
然后在后端代码中使用安全解决方案,然后在React应用程序中使用对象模式验证器来防止用户XSS攻击。

您所说的源是什么意思?它仍然是一个JavaScript,每个人都可以看到源代码,但它们将被网页丑化和缩小。
关于XSS。不用担心使用React。感谢JSX,您的代码已经得到了保护。视图中的字符串变量将自动转义。

React没有什么特别之处-无论您使用的是什么框架(如果有),如果最终用户希望查看,所有客户端代码都将始终可见。这就是为什么您当然不在客户端代码中放入任何需要保密的内容。我理解将所有敏感数据和密钥保留在服务器端,但是否有任何方法可以提供安全性来隐藏任何客户端功能,特别是main.chunk.jsp中显示的功能,但这是我的观点。您不能,也不应该以您认为需要的方式编写代码。(你可以缩小/丑化你的代码,但这并不难撤销——记住,任何人都可以安装React devtools,轻松查看你的应用程序的组件结构。)再说一次,React没有什么特别之处,它适用于所有客户端JS。我只是好奇,我确保所有敏感信息都不会显示在客户端,任何敏感信息都会显示在服务器端。关于隐藏脚本,例如
,我想知道如果我只想让功能在客户端上安全,我该如何具体隐藏它您不能在客户端上隐藏任何js代码。任何访问者都可以在资源内部观看。所有要向客户端隐藏的操作都应该在服务器端我想知道是否有任何方法可以从ReactJS中的公用文件夹的页面源隐藏脚本标记,因此无论显示的框架是什么,客户端的源代码始终显示?@JafferSyed是的,这完全正确。在服务器端/后端,有很多安全问题需要解决。我只是想知道如何在页面上隐藏脚本标记,如果有任何方法可以在不删除脚本标记的情况下呈现应用程序,那么如果隐藏脚本标记,浏览器将无法访问它们。