【发布时间】:2020-03-08 03:28:54
【问题描述】:
最近我正在使用 express 和 ejs 创建一个网站,所以除了 express 和 ejs,我还将在前端有一个 css 和一个 javascript 文件,我正在创建的网站将有一个用户必须登录的仪表板首先看到并使用仪表板,因此总体而言,我的网站将只有很少的公共路线和两到三个私人路线(用户必须登录才能与之交互)。
我的问题不是关于性能的观点,而是关于安全的观点:
对于我的前端 javascript 文件,我是否需要拆分为两个文件,以便一个 js 文件用于所有公共路由页面,另一个用于所有私有路由页面?如果我只对公共和私有路由视图页面使用一个客户端 js 文件,是否会有任何类型的安全问题?因为如果我只使用一个客户端 js 文件,我也会使用该 js 文件来操作私有路由中不同类型的 DOM 元素(例如dashboard.ejs)。
示例:
如果我有两个公共路由,index.ejs 和 about.ejs,当用户访问这些公共路由时,服务器会将 public.js 发送到客户端,如下所示:
<body>
<div class="container">
<h1>index page</h1>
<div>
<script src="./public.js"></script> //This js file is used for all PUBLIC routes view pages
</body>
<body>
<div class="container">
<h1>about page</h1>
<div>
<script src="./public.js"></script> //This js file is used for all PUBLIC routes view pages
</body>
在用户登录并访问私有路由视图页面后,例如dashboard.ejs,服务器会将private.js发送到客户端,如下所示:
<body>
<div class="container">
<h1>dashboard page</h1>
<div>
<script src="./private.js"></script> //This js file is used for all PRIVATE routes view pages
</body>
是否需要使用上述方法来避免任何类型的安全问题,或者我可以只使用一个客户端 js 文件来处理所有公共和私有路由视图页面 DOM 操作等...?
对不起,如果这个问题有点……我还是网络开发的新手。
谢谢
【问题讨论】:
标签: javascript node.js express ejs