【React】 打包扫描出现高风险文件 YUI 版本太低 JSEncrypt

漏洞定位

扫出漏洞的情况,多是在说下面几个工具:

  1. jquery

  2. js-cookie

  3. jsencrypt

参考链接

YUI:2.9.0 (Link) http://www.cvedetails.com/cve/CVE-2012-5883/

1.于是在打包后的代码中搜索 YUI(不区分大小写,不进行全字匹配),果然搜到了一段注释:

2.认了这个事情,接下来就容易多了。这明显不是我的代码,那就在 node_modules 中继续搜索,最终在 jsencrypt 下查到了这段注释:

3.用 npm 安装到项目得jsencrypt是没有压缩的,里面包含YUI, 打包之后会出现这种文件;

现在可以总结出:

  1. 漏洞的原因是 YUI 2.9.0 版本存在安全漏洞
  2. 安全软件扫描的依据是注释中包含 yui 的版本号

解决方案:使用压缩后(不含注释)的文件

npm 安装了jsencrypt后 不要直接引入:

 // ERROR
 import jsencryptf rom 'jsencrypt'

jsencrypt包中导入默认的导出。这通常意味着你正在导入一个未压缩的、更易于阅读或调试的版本,或者是该包开发者认为对于大多数用途来说最合适的版本。

具体导入了什么取决于jsencrypt包的package.json文件中的 main字段,该字段指定了当使用包名作为导入路径时应导入哪个文件。

        1.使用具体的文件路径导入 jsencrypt.min 文件

        2.从jsencrypt包的bin子目录中的jsencrypt.min文件导入JSEncrypt

        3.这通常意味着你正在导入一个压缩(可能是最小化)的版本,用于生产环境,因为它的大小可能更小,加载速度更快;

        4.但是,由于它是压缩的,所以源码可能不太容易阅读或调试;

        5.文件大小:使用.min后缀的文件通常是压缩过的,因此文件大小可能更小;

// SUCCEED
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'

最后

要注意的是,不是所有的包都会提供压缩和未压缩的版本,或者可能会使用不同的方法来区分它们(例如,通过环境变量或构建配置)。因此,最好查看特定包的文档来了解如何正确使用它。

React应用程序的打包文件在部署到Web服务器上时,可能会出现404错误的情况。这通常是由于以下原因导致的: 1. 部署路径配置错误:如果您在将React应用程序部署到Web服务器上时,没有正确配置应用程序的部署路径,那么浏览器在请求应用程序的打包文件时可能会找不到文件,从而导致404错误。请确保应用程序的部署路径正确配置,包括文件路径和URL路径。 2. Web服务器配置错误:如果您的Web服务器没有正确配置文件类型和MIME类型,那么浏览器在请求应用程序的打包文件时可能会返回404错误。请确保您的Web服务器已正确配置文件类型和MIME类型,特别是对于JavaScript和CSS文件。 3. 打包文件路径错误:如果您在将React应用程序打包时,没有正确配置打包文件的路径和URL路径,那么打包文件可能会被放置在错误的位置,从而导致浏览器在请求文件时返回404错误。请确保您正确配置打包文件的路径和URL路径,并将打包文件部署到正确的位置。 4. 缓存问题:如果您的浏览器缓存了旧的打包文件,那么浏览器在请求文件时可能会返回404错误。请尝试清除浏览器缓存并重新加载页面。 针对以上原因,您可以逐一排查并解决。如果问题仍然存在,您可以查看Web服务器的日志文件,以了解更多有关404错误的详细信息,从而更好地解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值