Išsaugokite koduotus proxy kredencialus batch faile nepažeistus
Išsaugokite procentais koduotus proxy vartotojų vardus ir slaptažodžius, kai Windows komandą perkeliate į .bat failą.
Proxy URL veikia, kai sukonfigūruojamas tiesiogiai, bet autentifikacija nepavyksta po to, kai ta pati reikšmė perkeliama į Windows batch failą. Patikrinkite, ar batch analizatorius pakeitė procento ženklus, kol HTTP klientas dar negavo URL.
Yra du atskiri vaizdavimai. URL kodavimas gali pavaizduoti atgalinį pasvirąjį brūkšnį kaip %5C, o klaustuką kaip %3F. Pažodinis procento ženklas batch failo komandoje turi būti escape'intas kaip %%.
Pavyzdiniam domain\user vartotojui su pakaitiniu slaptažodžiu pass? .bat faile gali būti:
set "https_proxy=http://domain%%5Cuser:pass%%[email protected]:8080"
Vėliau paleistas procesas turėtų gauti URL, kuriame yra domain%5Cuser:pass%3F. Padvigubinti procento ženklai priklauso batch šaltiniui, o ne proxy URL, kurią saugo klientas.
Nekopijuokite šios batch rašybos į .npmrc failą ar programos proxy lauką: šios įvestys nepereina to paties batch analizės etapo. Taip pat šis pavyzdys nėra PowerShell sintaksė. Kita apvalkalas, pavyzdžiui, CALL arba antram shell sukurtas komanda, gali įvesti dar vieną analizės etapą ir reikia atskiro patikrinimo.
Įdėkite SET priskyrimą į kabutes, kaip parodyta, kad atsitiktiniai tarpai ar shell metasimboliai netaptų netyčinio komandos dalimi. Vien kabutės nesustabdo procentų išplėtimo.
Tikrindami rezultatą, palyginkite tikėtiną kodavimą su redaguotu vaizdavimu, o ne spausdinkite URL su slaptažodžiu į bendrą žurnalą. Shell escape taisymas išsaugo kredencialus; jis nepasirenka autentifikavimo schemos, kurios klientas jau nepalaikė.