如果通过ejs发送到函数,则重要数据在html页面源上可见

时间:2019-03-03 10:21:18

标签: html ejs

我遇到一个问题,如果通过ejs将数据发送到函数,则很容易在页面源代码中看到它。这会导致安全风险吗?

例如。代码

<a onclick="editDetail('<%=JSON.stringify(data[i])%>')">Edit</a>

页面来源:

<a  href="#" data-toggle="modal" data-target="#exampleModalLong" onclick="editUser('{&#34;type&#34;:&#34;customer&#34;,&#34;notification_status&#34;:&#34;1&#34;,&#34;wallet_balance&#34;:&#34;500&#34;,&#34;block_status&#34;:&#34;0&#34;,&#34;_id&#34;:&#34;5b1fc76bf04810496b7cf149&#34;,&#34;name&#34;:&#34;Omeesh&#34;,&#34;email&#34;:&#34;omeesh@relinns.com&#34;,&#34;contact&#34;:78371724568,&#34;password&#34;:&#34;$2a$10$afc1Ei.z0PZ2sWsX7Mbwd.EYliwVa48cIFuLqwcupnIdvEfhy79AS&#34;,&#34;device_token&#34;:&#34;cmtl5S48n6w:APA91bFlX71jrg2xKcZym3upHIvY8uGraTbXI9clBKh_Cu2LydPodY2TuPfVaFXMNiWF5ZeDF7TfgV6Svyz6BY5xDJ7iWXgwWOT7aHZe6NwutKsdOJJZO1WGSKC7y5V0UGTiLFp-kIPX&#34;,&#34;platform&#34;:&#34;1&#34;,&#34;__v&#34;:0,&#34;socket&#34;:&#34;Zh3Vb46deerhDGu4AAAn&#34;,&#34;notification_id&#34;:&#34;cmtl5S48n6w:APA91bFlX71jrg2xKcZym3upHIvY8uGraTbXI9clBKh_Cu2LydPodY2TuPfVaFXMNiWF5ZeDF7TfgV6Svyz6BY5xDJ7iWXgwWOT7aHZe6NwutKsdOJJZO1WGSKC7y5V0UGTiLFp-kIPX&#34;}');">Edit</a>

我在这里可以做什么,以便所有这些数据都不可见。还是可以,它只能像这样吗?

1 个答案:

答案 0 :(得分:0)

为什么要渲染完整的对象而不是所需的值。假设如果您只需要ID,则应该使用

显示ID
<%=JSON.stringify(data[i].id)%>

<%=JSON.stringify(data[i].customer)%>