簡體   English   中英

如果此JavaScript代碼在服務器(nodeJS)上運行,其安全性或安全性如何?

[英]How secure or insecure is this JavaScript code if run on the server (nodeJS)?

如果在服務器上執行,這種類型的代碼可能會出現什么無法預料的問題,對此感到好奇。 或者,如果有任何非eval替代方案。

var a = {b:1, c:2, d:3, e:[1,2,3]};
(function(path) { return eval('this'+path) }).call(a, '.e[2]');

給定path是一個靜態值( ".e[2]" )並且a沒有任何惡意訪問者,那么這里沒有什么不安全的地方,除了完全沒有必要。

但是,如果path確實來自客戶端或其他不受信任的來源,那么將path傳遞給eval是您最糟糕的事情。 它可以完成JS代碼在節點中可以做的所有事情-足以嚴重傷害您。

是的,有許多非評估的替代方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM