簡體   English   中英

無論如何要修復mathjs漏洞

[英]Anyway to fix mathjs vulnerabilities

math.js中存在漏洞,如果一個人輸入一個不可能的問題1:999999999999999999999 ,它將使node.js進程崩潰,有什么想法嗎?

我用於計算的代碼:

let resp;

    try {
        resp = math.evaluate(args.join(" "))
    } catch (e) {
        return message.channel.send('Please provide a **valid** question')
    }

例如,如果您在樹莓派上使用 linux,您可以使用子進程來運行計算並限制操作系統上進程的最大 memory

這真的很荒謬,但是如果1:999999999999999999999是您唯一關心的問題,我注意到 / 不會引起任何問題,但是:會。 因此,您可以將計算中的每個:替換為/

let resp;

try {
    resp = math.evaluate(args.join(" ").replace(/:/g, "/"))
} catch (e) {
    return message.channel.send('Please provide a **valid** question')
}

暫無
暫無

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

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