反应本地是一个受欢迎的和令人兴奋的框架构建强大的手机应用程序。本机允许您构建跨平台的反应,丰富的UI应用程序几乎看起来像本地应用。它提供了更少的复杂构建新的应用程序在短的时间内,最终以极大的节约成本。哦,我有没有提到较小的学习曲线?从我的角度来看这是一个重大胜利。所有这些好处都是作为土生土长的反应是建立在伟大的JavaScript组件。然而,就像任何JavaScript框架为基础,它是容易受到攻击危及机密性、数据可用性和未经授权的访问的数据以及系统。我们将讨论一些策略来预防最常见的反应本地漏洞,防止可能的攻击。
4共同反应本地漏洞:
XSS漏洞
应用程序使用webview可能有更高的跨站脚本攻击的几率一样需要标准的HTML源。
XSS攻击区域的几个例子:
- < a href = " attackerControlledURL " >点击这里! < / >
- <表单动作={数据}/ >
我们可以创建一个validateURL在使用前检查或清洁的数据被发布防范上述XSS攻击。
函数validateURL (url){返回url.contains (“https: \ \ mydomainonly.com”) ?真:假}
SQL注入
这是一个非常常见的一种攻击,黑客可以注入到数据库的SQL代码。对反应本土实践,这可能发生,开发人员可能已经暴露的弱点在不知情的情况下。
为了避免这种攻击:
- 总是使用消毒输入
- 在SQL操作之前检查空/空值。我们还可以利用验证器图书馆清洁输入
- 维护白名单有严格的指导方针
- 保持正则表达式或允许字符常量文件列表
- 逃避所有传入用户输入
- 逃避引号,反斜杠、空间等
- 提交API与匹配负载API模式只有
- 定义API数据模式和验证数据与之前提交API的使用Formik
弱的身份验证
不当或弱身份验证可以导致非托管会话敞开或关键数据在设备上访问。弱密码和用户名可以被利用。
领域的改进:
- 安全的密码使用sha - 256或512年单向散列算法与迭代以及盐1000倍
- 执行会话超时
- 实现多因素身份验证(MFA)
- 直到MFA执行不透露任何PII或φ数据
- 清晰的任何保存的数据从设备在会话超时或注销
依赖的漏洞
反应本地收到广泛的全球社区的贡献。网上图书馆等NPM,纱有很大的开发人员可以使用包可以导入到他们的解决方案。这可以简化开发生命周期提前部署。虽然这是一个很大的优势,但也可能造成的风险漏洞到我们的应用程序在这些包不维护好。
例如,我们使用的是包“abc”,使用“Hermes-Engine 0.5.2。“然而,自最初版本库没有更新。“Hermes-Engine 0.5.2”创造了一个潜在的接触XSS漏洞。因为这“abc”包在我们的应用程序,它可能暴露相同的风险。
另一个例子,React-Native-Webview11.0.0以上版本。这允许使用任意URL,可以完全利用重定向到另一个网站。为了防止这种威胁,这个应用程序使用此包必须升级到最新版本React-Native-Webview。
确保第三方包的完整性与以下:
- 总分析包来验证它是维护和没有任何已知的漏洞
- 定期更新第三方的包/库在我们的解决方案
- 经常(每两周/月度)运行静态代码扫描使用可用的工具等正直善良,SonarQube Snyk好公民识别潜在的问题
小贴士:修复漏洞而不必等待第三方库更新,patch-package将帮助你解决方案同时把创可贴。
结束
我们走过去一些已知的反应本地漏洞和维护方法。虽然反应和反应本地有强大的开发者社区,可能有延迟从图书馆供应商解决问题。应用程序安全是重要的,我希望这篇文章提供了一个基本的了解反应本地漏洞和一些方法来避免他们。这些安全措施应该在你的脑海中。
Perficient的反应本地专长
Perficient移动解决方案团队有着丰富的经验构建移动应用程序在本地的反应。关于Perficient的更多信息移动解决方案专业知识,订阅我们的博客或联系今天我们的移动解决方案团队!