Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
@azure/core-process biedt Node.js proces-startende primitieven die ambient shell parsing vermijden. Het is bedoeld voor Azure SDK-pakketten en -tools die externe uitvoerbare bestanden op Windows, macOS of Linux moeten aanroepen.
Aan de slag
Installeer het pakket
npm install @azure/core-process
Prerequisites
Belangrijke concepten
Commando's en argumenten worden altijd apart gegeven. Het pakket biedt geen commandostring-API en staat aanroepers niet toe een shell in te schakelen.
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);
Op Windows hebben native .exe en .com bestanden de voorkeur. Batchbestanden zijn standaard uitgeschakeld omdat willekeurige argumenten niet veilig door elke .cmd of .bat wrapper kunnen worden getransporteerd. Een caller die een batch-shim verwacht, kan kiezen voor het beperkte batchpad:
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("npm", ["--version"], {
allowWindowsBatchFiles: true,
});
console.log(stdout);
Het beperkte batchpad verwerpt commando-operators, variabeleuitbreiding, nieuwe regels en andere waarden die niet voor de start als veilig cmd.exe kunnen worden bewezen.
Als een applicatie die waarden moet doorgeven, moet deze direct een native uitvoerbaar bestand of interpreter-entry point aanroepen.
Beveiligingsgrens
Dit pakket voorkomt dat commandoregelgegevens worden geïnterpreteerd door een omgevingsshell van een besturingssysteem. Het bewijst niet dat een uitvoerbaar bestand dat op PATH is betrouwbaar, saniteert code die opzettelijk aan een interpreter is doorgegeven, en voorkomt ook niet dat commando-specifieke optie injectie wordt ingenomen.
Plaats geen geheimen in commandoregelargumenten. Procesargumenten kunnen zichtbaar zijn voor andere lokale processen en besturingssysteemdiagnostiek.
Probleemoplossingsproces
Een onveilig Windows batchargument faalt met een ProcessError voordat het kindproces is aangemaakt. Geef de voorkeur aan een native uitvoerbaar bestand wanneer het argument niet kan worden gewijzigd.
Contributing
Zie de bijdragengids.
Azure SDK for JavaScript