Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
@azure/core-process tillhandahåller Node.js processstartande primitiva som undviker ambient shell-parsing. Den är avsedd för Azure SDKs-paket och verktyg som behöver anropa externa exekverbara filer på Windows, macOS eller Linux.
Komma igång
Installera paketet
npm install @azure/core-process
Förutsättningar
Viktiga begrepp
Kommandon och argument tillhandahålls alltid separat. Paketet tillhandahåller inget kommandosträngs-API och tillåter inte anropare att aktivera ett shell.
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);
På Windows föredras native .exe och .com filer. Batchfiler är inaktiverade som standard eftersom godtyckliga argument inte kan transporteras säkert genom varje .cmd eller .bat wrapper. En anropare som förväntar sig en batch-shim kan välja den begränsade batchvägen:
import { execFile } from "@azure/core-process";
const { stdout } = await execFile("npm", ["--version"], {
allowWindowsBatchFiles: true,
});
console.log(stdout);
Den begränsade batchvägen avvisar kommandooperatorer, variabelexpansion, linjeskift och andra värden som inte kan bevisas säkra före cmd.exe start.
Om en applikation behöver skicka dessa värden måste den direkt anropa en inhemsk exekverbar fil eller tolkarinträdespunkt.
Säkerhetsgräns
Detta paket förhindrar att kommandoradsdata tolkas av ett omgivande operativsystemskal. Den fastställer inte att en exekverbar fil som hittas på PATH är pålitlig, sanerar inte kod som medvetet skickats till en tolk, eller förhindrar kommando-specifik alternativinjektion.
Placera inte hemligheter i kommandoradsargument. Processargument kan vara synliga för andra lokala processer och operativsystemdiagnostik.
Felsökning
Ett osäkert Windows-batchargument misslyckas med en ProcessError innan barnprocessen skapas. Föredra en inbyggd körbar fil när argumentet inte kan ändras.
Contributing
Se bidragsguiden.
Azure SDK for JavaScript