SSR

5 阅读1分钟

被要求前端项目需要接入风控sdk <script src="//xxxxxxxx.com/risk-control/static/risk.js" crossorigin="anonymous" ></script>

为什么接入到了server端?

1、前端项目 a,b,c 服务端server

SSR 模板由服务端控制: server 是一个 Egg.js 服务端应用,通过 nunjucks 模板引擎渲染 HTML。layout.html 是所有页面的基础模板。服务端在渲染时就已经把 RiskControl 的 script 标签注入到 HTML 中了。

2、 风控 SDK 需要尽早加载: RiskControl 是风控 SDK,它的职责是采集浏览器环境信息(设备指纹、行为特征等)用于风险识别。把它放在 head 中、在所有业务 JS 之前加载,可以确保:

-   在用户任何操作之前就开始采集
-   在页面跳转/请求发起时就能携带风控签名
-   采集数据更完整,不容易被业务代码干扰



总结:server 用 SSR 模板的核心原因是:认证在服务端做,用户信息在服务端注入,风控在模板层最早加载——这些事情必须在浏览器执行业务 JS 之前就完成,所以不能交给前端。