Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
@azure/core-process poskytuje Node.js primitiva spouštějící procesy, které se vyhýbají analýze okolního shellu. Je určen pro balíčky a nástroje Azure SDK, které potřebují vyvolávat externí spustitelné soubory na Windows, macOS nebo Linuxu.
Začínáme
Nainstalujte balíček
npm install @azure/core-process
Předpoklady
Klíčové koncepty
Příkazy a argumenty jsou vždy dodávány samostatně. Balíček neposkytuje API pro příkazové řetězce a neumožňuje volajícím povolit shell.
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);
Na Windows jsou preferovány nativní .exe.com a soubory. Dávkové soubory jsou ve výchozím nastavení zakázány, protože libovolné argumenty nelze bezpečně přenášet přes každý .cmd or .bat wrapper. Volající, který očekává dávkovou podložku, se může rozhodnout pro omezenou dávkovou cestu:
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("npm", ["--version"], {
allowWindowsBatchFiles: true,
});
console.log(stdout);
Omezená dávková cesta odmítá operátory příkazů, rozšiřování proměnných, nové řádky a další hodnoty, které nelze před zahájením prokázat jako bezpečné cmd.exe .
Pokud aplikace potřebuje tyto hodnoty předat, musí přímo volat nativní spustitelný soubor nebo interpreter.
Hranice zabezpečení
Tento balíček zabraňuje interpretaci dat z příkazové řádky okolním operačním systémem. Neprokazuje, že spustitelný soubor nalezený na je PATH důvěryhodný, nečistí kód úmyslně předaný interpreteru ani nebrání příkazově specifické injekci možností.
Nevkládejte tajemství do argumentů v příkazové řádku. Argumenty procesů mohou být viditelné pro jiné lokální procesy a diagnostiku operačního systému.
Řešení problémů
Nebezpečný dávkový argument ve Windows selže s před ProcessError vytvořením podřízeného procesu. Preferujte nativní spustitelný soubor, pokud nelze argument změnit.
Contributing
Podívejte se na průvodce příspěvky.
Azure SDK for JavaScript