next.js 为什么我的原始源代码可以通过调试器的Network选项卡轻松访问?

bttbmeg0  于 2022-12-29  发布在  其他
关注(0)|答案(2)|浏览(131)

我已经在我的网站上工作了一个月,现在才意识到有这个额外的_N_E服务器,是提供访问我的原始源代码用于每个页面。
我正在使用NextJS,我怀疑Sentry可能对此负责,但我在他们的文档中找不到任何有关它的信息。这是一个风险,因为这不仅发生在开发中,而且发生在生产中,我不允许用户访问我的原始源代码。

  • 有人见过这个吗?
  • 有什么办法可以做到这一点,仍然得到准确的结果从哨兵?

rsl1atfo

rsl1atfo1#

公开发布源Map意味着任何人(包括Sentry)都可以访问
有两种方法可以实现这一点
1.设置一个CDN规则,只允许Sentry的服务器获取源Map,即IP白名单
1.您可以将源Map上载到sentry -https://docs.sentry.io/platforms/javascript/guides/react/sourcemaps/uploading/

insrf1ej

insrf1ej2#

Here是描述此问题及其解决方法的票证。
确保使用@sentry/nextjs〉= 6.17.1
在下一个配置文件中,您希望添加hidden-source-map标志。此布尔值将确定是否应上载源Map。例如,您可能希望有条件地将其设置为预览部署。

// next.config.js

const nextConfig = {
  // ... other options
  sentry: {
    hideSourceMaps: process.env.NEXT_PUBLIC_VERCEL_ENV === "production",
  },
}

有一点需要注意。以前我使用的是v7.6.0,并且能够获得源Map文件。现在我已经升级到v7.14.1,并且不再能够在部署时显示源文件,无论标志条件如何。不确定这是一个回归还是只是一个部分实现的特性。

相关问题