Barvna shema: Svetla
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Office SDK » Odpravljanje težav » Geslo je v izvornih datotekah

Geslo je v izvornih datotekah

Simptom: check ali build se konča z izhodno kodo 2 in sporočilom „Geslo (PWD=) je zapisano v viru“, ki navede datoteko in vrstico. Gesla, ki obstaja samo v podatkovni zbirki, preverjanje ne najde, dokler ni izvoženo: commit izvorne datoteke preveri, preden izvozi podatkovno zbirko (glejte Potrjevanje sprememb iz programa Access).

Okolje

Vse različice WKL Office SDK. Preverjanje zajame objekte (poizvedbe, obrazce, poročila, module, makre), podatke tabel, trakove in modele; ne zajame pa references.json, application/properties.json, shem tabel in tem.

Vzrok

Povezovalni niz vsebuje geslo z vrednostjo (PWD=... ali Password=...), na primer v prepustni poizvedbi ali v povezovalnem nizu v kodi VBA. Prebere ga lahko vsak, ki ima dostop do repozitorija, vsebuje pa ga tudi vsak klon in vsak dnevnik CI.

Rešitev

  1. Vrednost odstranite iz izvorne datoteke; aplikacija naj geslo pridobi šele med izvajanjem: s prijavo v sistem Windows (Trusted_Connection=Yes), s pozivom ali prek upravitelja povezav (Linked Tables Manager) WKL Forms Object Library, ki povezave hrani brez gesel.
  2. Prazna vrednost (PWD=;) in ograda (PWD={password}, $(Password)) sta dovoljeni. Preverjanje vsako vrednost, ki se začne z { ali kjer koli vsebuje $, šteje za ogrado, zato PWD={s3cret} (geslo ODBC v zavitih oklepajih) ali PWD=Pa$$w0rd ne bo sporočeno.
  3. Geslo spremenite na strežniku, saj je bilo zapisano v datotekah.

Opombe

  • Česa preverjanje ne najde. Išče PWD= ali Password=, ki mu sledi vrednost. Ne sporoči vrednosti, ki se začne z dvojnim ali enojnim narekovajem (PWD="secret", PWD='secret', tudi začetek nizovnega izraza VBA), vrednosti, ki se začne z { ali vsebuje $, gesla pod drugim ključem ali gesla, sestavljenega med izvajanjem. Če check ne najde ničesar, to torej ni dokaz, da izvorne datoteke ne vsebujejo gesla.
  • Stavek VBA, ki dodeli vrednost spremenljivki ali lastnosti s tem imenom (m_Password = Value, Me.Password = txtPwd), je koda, ne povezovalni niz, zato ni sporočen.

Pot v uporabniški profil (C:\Users\<name>\...) je sporočena samo kot opozorilo: obstaja le na enem računalniku za enega uporabnika. Nadomestite jo s potjo, ki obstaja na vsakem računalniku.

sl/wiki/msaccess/sdk/troubleshooting/a-password-is-in-the-sources.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille