JavaScript 中的安全字串計算:eval() 的替代品
eval() 函數雖然方便,但暴露了JavaScript 中潛在的安全風險。在處理包含可執行程式碼的不受信任字串時,必須找到更安全的替代方案。
一個可行的選擇是使用 Function() 建構子。此建構函數允許我們從給定字串建立動態函數:
function evil(fn) { return new Function('return ' + fn)(); }
利用此函數,我們可以計算數學字串表達式,而無需承擔與 eval() 相關的風險。以下是一個範例:
const apa = "12/5*9+9.4*2"; console.log(evil(apa)); // Output: 40.4
此方法提供了一種安全的方法來計算字串值,而無需求助於 eval()。它提供了針對惡意程式碼注入的增強保護,使其成為處理不受信任輸入的更安全選擇。
以上是如何在 JavaScript 中安全地計算字串:「eval()」的替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!