【问题标题】:next.js is it safe to import serverside script in clientside? [duplicate]next.js 在客户端导入服务器端脚本是否安全? [复制]
【发布时间】:2022-01-25 08:26:34
【问题描述】:

在next.js中,我们可以使用

getStaticProps(静态生成):在构建时获取数据。

getStaticPaths(静态生成):指定动态路由以基于数据进行预渲染。

getServerSideProps(服务器端渲染):获取每个请求的数据。

要运行服务器端代码,但为了做到这一点,我需要在该脚本中导入服务器端模块,例如,我想在 getserversideprops 中导入一个身份验证模块来检查用户是否真实。 (或数据库模式,例如猫鼬)

由于我无法导入函数,我必须在文件顶部导入,这意味着任何人都可以看到该导入并查看我如何验证用户身份。

示例:

import a from 'auth"  

getserversideprops(){

if(a(req) ==true) ... 

}

【问题讨论】:

标签: security next.js server-side-rendering


【解决方案1】:

getServerSideProps 将仅在服务器上运行,并且此代码不会与客户端或最终生成的页面捆绑在一起。由于您永远不应该将服务器端代码发送到客户端,Next.js 已经处理了它。

Next.js 足够聪明,可以看到你将在哪里使用导入的脚本,如果你在服务器上使用它,它不会被添加到包中。

【讨论】:

    猜你喜欢
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多