Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Interesant
  • 1c dezactivează modul sigur. Deschiderea procesării externe în mod programatic

1c dezactivează modul sigur. Deschiderea procesării externe în mod programatic

Folosind exemplul „Trade Management 11.3”, vom lua în considerare un proces simplu de conectare a unei plăci de imprimare externe. Vom lua în considerare și caracteristicile noului sistem de securitate.

Trecere rapidă

Acțiuni preliminare

Mai întâi ar trebui activați funcționalitatea sau verificați disponibilitatea acestuia

1. Mergem cu drepturi depline la baza de informații.

2. Accesați meniul „Date de referință și administrare” / Bloc „Administrare” / Comanda „Imprimare formulare, rapoarte și procesare”.

Adăugând

În secțiunea care se deschide:

Adăugați procesarea făcând clic pe butonul „Creare” (acest lucru este important) sau „Actualizare!” existent:

  • Selectați-o în listă (dacă nu este selectată sau goală, comanda nu va funcționa, dar nu va spune nimic).
  • Apăsați butonul „Încărcare din fișier”.

După apariția pentru 1C în procesarea externă, au apărut verificări de securitate în configurații noi.

Ar trebui să instalați doar procesări create independent sau obținute prin canale de comunicare cunoscute (nu din mail, doar de pe un site cu certificat valabil, sau furnizate de angajații dezvoltatorului, confirmate de acesta telefonic).

Dacă dezvoltatorul a scris totul pentru procesare, atunci va fi setat „Plasament” - obiecte în care va fi implicată procesarea, vor apărea comanda (comenzile).
Pentru a funcționa, va fi suficient să faceți clic pe „Înregistrați și închideți”.

Examinare

Imediat după aceea, în funcție de tipul de prelucrare:

  • Documentul imprimabil devine disponibil atunci când deschideți un document sau din lista acestuia (pentru deja deschis la redeschidere) făcând clic pe butonul „Imprimare”.
  • Tratamentele sunt disponibile în secțiunile „Tratamente suplimentare” din fiecare subsistem
  • Procesarea completării făcând clic pe butonul „Umplere” din listă sau din panoul principal de comandă al formularului obiect.

Pentru procesarea de mai sus, lansarea va arăta astfel:

Dacă documentul este nou, ar trebui scris, mecanismul extern de procesare vă va avertiza despre acest lucru:

Comportamentul suplimentar depinde de funcționalitatea încorporată: este posibil să deschideți un formular sau o simplă prelucrare a datelor.

Avertismente de securitate în 1C

În noile versiuni și configurații ale platformei, protecția împotriva lansării de programe rău intenționate a fost crescută.

În procesare, Excel poate fi apelat pentru încărcare, caz în care noul subsistem de securitate vă va avertiza și:

În acest caz, codul de gestionare este întrerupt.

Dacă faceți clic pe „Da”, sistemul vă va cere să apelați din nou comanda:

Este posibil ca utilizatorul bazei de informații să dezactiveze protecția împotriva acțiunilor periculoase prin Configurator:

Acest lucru nu poate fi schimbat din modul „Enterprise”, poate a fost făcut intenționat, poate apărea după actualizare.

De asemenea, trebuie remarcat faptul că, dacă procesarea folosește Excel, trebuie să ruleze într-un mod nesigur (așa era cazul înainte de introducerea noului sistem, funcționează în paralel):

„Nu se poate încărca MS EXCEL !!!” „Modul de siguranță este setat. Operarea este interzisa"

În procesarea externă, arată astfel:

Dezvoltatorul ar trebui să îl seteze la „False” în descrierea procesării interne, apoi totul va fi bine:

Funcția ExternalProcessingData () Export RegistrationParameters = Structură nouă; Parametri de înregistrare.Insert ("SafeMode", False);

La actualizarea configurației, a apărut și un text de avertizare despre sursa din care a fost obținut fișierul de configurare:

Când porniți programul Încărcarea documentelor ca utilizator obișnuit, eroarea „Modul sigur este setat. Operarea este interzisă”.

Această complexitate apare deoarece nu sunt suficiente drepturi pentru a începe prelucrarea externă. Pentru a configura drepturile de acces, accesați baza de date în modul 1C Enterprise în numele Administratorși mergi la secțiune Setări utilizator și drepturi / Profiluri de acces de grup, clic Pentru a crea un grup.

Introduceți numele grupului și bifați casetele disponibile pentru utilizatorii acestui grup de roluri -

  • Deschiderea interactivă a rapoartelor și procesatorilor externi
  • Utilizarea rapoartelor și procesării suplimentare

Click pe Arde și închide


Reveniți la meniul Utilizatori și selectați din listă angajatul care va lucra cu programul Descărcare documente. Faceți clic pe Permisiuni. În lista de profiluri, marcați profilul creat anterior. Click pe Scrie.


Este recomandat să adăugați Încărcare document la lista de procesoare externe, astfel încât utilizatorii să poată începe procesarea. Pentru asta în meniu Administrare / Imprimare formulare și procesare / Rapoarte suplimentare și procesare creează un nou tratament. Căutați și denumiți fișierul LoadDocuments.epf. Specificați locația procesării în meniu de unde utilizatorul o poate lansa în viitor, de exemplu, selectați meniul Directoare

Făcând clic pe elementul Acces rapid, indicați care dintre utilizatori are acces la procesare:


După setare, faceți clic Arde și închide... Pentru a începe procesarea, utilizatorii vor trebui doar să reintroducă baza de date și să o deschidă din meniul de acces (în exemplu, Referințe) și să facă clic pe A executa.


Deschide Meniu - Toate funcțiile ..... și găsiți opțiunea Profiluri de securitate în uz din listă.


Este suficient să debifați opțiunea „Se folosesc profiluri de securitate”.


După aceea, programul va începe cu succes.

Odată cu lansarea platformei 8.3.9.2033, a apărut un nou mecanism „Protecție împotriva acțiunilor periculoase”.

Datorită acestei inovații, 1C -ka a început acum să înjure la deschiderea procesării (și nu numai):

Avertizare de securitate

Deschide „My external processing” din fișierul „My_External_Processing.epf”

Este recomandat să acordați atenție sursei din care se obține acest fișier. Dacă nu există un acord cu sursa cu privire la dezvoltarea modulelor suplimentare sau există îndoieli cu privire la conținutul fișierului, atunci nu este recomandat să îl deschideți, deoarece acest lucru poate dăuna computerului și datelor.

Doriți să permiteți deschiderea acestui fișier?

Așa că 1C a decis să lupte împotriva codului rău intenționat!

De unde va veni acest „cod rău intenționat” la întreprindere este încă un mister)

Acțiunile potențial periculoase au inclus:

  • Încărcarea unui raport extern, procesarea sau extinderea configurației.
  • Încărcați sau actualizați configurația/extensia.
  • Acces dintr-un raport extern/prelucrare sau extensie la următoarele caracteristici:
  • Executarea comenzilor sistemului de operare.
  • Gestionarea utilizatorilor (înregistrarea sau ștergerea informațiilor despre un utilizator al bazei de informații).
  • Apelarea metodei Connect () a managerului de procesoare externe (rapoarte).
  • Apelarea metodei ConfigurationExtension.Write ().
  • Lucrul cu obiecte COM.

Cum poate fi oprit acest „miracol”?

Pentru a face acest lucru, trebuie să rulați 1C Enterprise în modul configurator.
Selectați meniul „Administrare” - „Utilizatori”.
În fereastra deschisă a utilizatorilor noștri, trebuie să deschideți fereastra cu setările utilizatorului și în fila „De bază” eliminați caseta de selectare „Protecție împotriva acțiunilor periculoase”

Există și alte modalități de a dezactiva acest lucru:

A fost implementată capacitatea de a specifica o listă de baze de informații, atunci când se lucrează cu care protecția împotriva acțiunilor periculoase va fi dezactivată.
Responsabil pentru această funcție este parametrul DisableUnsafeActionProtection din fișierul conf.cfg, care vă permite să dezactivați mecanismul de protecție împotriva acțiunilor periculoase pentru toți utilizatorii anumitor baze de informații ale căror șiruri de conexiune satisfac măștile specificate în parametrul DisableUnsafeActionProtection.

În acest parametru, puteți specifica mai multe măști separate prin simbolul „;”, de exemplu:

DisableUnsafeActionProtection = test _. *; Etapa _. *;

În plus, protecția împotriva acțiunilor periculoase ale utilizatorului poate fi dezactivată programatic, pentru care există următorii parametri și proprietăți:

  • Parametru Protecție împotriva acțiunilor periculoase ale metodelor Conectați () managerii de procesare externă (rapoarte)
  • Proprietatea HazardousActionProtection a obiectuluiConfigurationExtension înainte de a apela metoda Write () a acestui obiect.

Verificarea necesității utilizării protecției împotriva acțiunilor periculoase se realizează în următoarea ordine:

1. Dacă caseta de selectare „Protecție împotriva acțiunilor periculoase” este debifată pentru utilizatorul actual, atunci protecția este considerată dezactivată.

2. Dacă șirul de conexiune la baza de informații se potrivește cu unul dintre șabloanele specificate în parametrul DisableUnsafeActionProtection al fișierului conf.cfg, atunci protecția este considerată dezactivată.

3. Dacă protecția este dezactivată în mod explicit utilizând parametrul AntiDangerousActions al unei procesări sau unui raport extern.

4. Dacă protecția este dezactivată în mod explicit folosind proprietatea extensiei AntiDangerousActions.

Procesarea externă este deschisă programatic folosind obiectul context global ExternalProcessing, care are tipul ExternalProcessingManager... Pentru fiecare mod de operare al platformei 1C (modul de aplicare normal și modul de aplicație gestionată), sunt utilizate diferite metode obiect pentru a lucra cu procesare externă.

Începeți procesarea externă în modul normal de aplicare

Într-o aplicație tipică, trebuie să utilizați metoda Create () a obiectului ExternalProcessing, căruia i se transmite numele complet al fișierului de procesare externă. Metoda returnează un obiect de tip Prelucrare externă, acest obiect este procesarea externă care se deschide. Dacă trebuie să deschideți un formular de procesare extern, atunci apelați metoda GetForm () pe obiectul rezultat, care va returna formularul principal, apoi apelați metoda Open () pentru a-l deschide.


Procesare = ExternalProcessing.Create (FullFileName);
Procesare.GetForm (). Deschidere ();

La procesoarele externe, formularul principal trebuie să fie întotdeauna o formă obișnuită, iar formularul gestionat trebuie să fie întotdeauna unul suplimentar, altfel metoda GetForm () nu va funcționa în modul normal de aplicare.

Pornirea procesării externe în modul aplicație gestionată

În modul formulare gestionate, apare o împărțire a algoritmului în funcție de contextul de execuție. Pe client, obținem date binare după numele complet al fișierului de procesare externă. Transferăm datele binare primite pe server și le punem în stocare temporară. Apoi, trebuie să apelați metoda Connect () a obiectului ExternalProcessing, la care este transmisă adresa stocării temporare. Metoda returnează numele procesării externe conectate. Returnăm clientului numele procesării externe, formăm o cale de șir către formularul de procesare și folosim metoda OpenForm () pentru a deschide formularul de procesare externă.

&Pe server
Funcția GetExternalProcessingName (Date binare)
AddressToTemporaryStorage = PutToTemporalStore (BinaryData);
Returnare ExternalProcessing.Connect (AddressInTemporaryStorage);
EndFunction

& OnClient
FullFileName = ""; // Numele complet al fișierului de procesare externă.
FileData = New BinaryData (FullFileName);
ExternalProcessingName = GetExternalProcessingName (FileData);
OpenForm ("ExternalProcessing." + ExternalProcessingName + ".Form");

Modul sigur pentru tratamente externe

Metodele Create () și Connect () ale obiectului ExternalProcessing au un parametru de intrare SafeMode - un semn al conectării procesării externe în modul sigur. Dacă parametrul nu este specificat, conexiunea se va face în modul sigur.
Modul sigur este conceput pentru a proteja sistemul de executarea codului de program „neîncrezător” pe server. Pericol potențial este procesarea externă sau codul de program introdus de utilizator pentru a fi utilizat în metodele Execute () și Calculate ().
Modul sigur are următoarele restricții:
  • modul privilegiat este anulat dacă a fost setat;
  • încercările de a intra în modul privilegiat sunt ignorate;
  • operațiunile cu obiecte COM sunt interzise;
  • este interzisă încărcarea și conectarea componentelor externe;
  • accesul la sistemul de fișiere este interzis (cu excepția fișierelor temporare);
  • Accesul la internet este interzis.
Prelucrările deschise interactiv nu sunt efectuate în modul sigur, de aceea se recomandă implementarea unui mecanism de deschidere a procesoarelor externe în modul sigur, precum și pentru a împiedica utilizatorul să deschidă interactiv procesoare externe la nivel de drepturi.
Pentru a interzice deschiderea interactivă a prelucrării, în toate rolurile atribuite utilizatorului, trebuie să eliminați dreptul „Deschideți procesarea externă interactiv” (vezi Figura 1).
Figura 1. Drepturi de deschidere interactivă a prelucrărilor / rapoartelor externe
Dreptul interactiv Open External Processors nu afectează în niciun fel obiectul ExternalProcessing.

Deschizând rapoarte externe în mod programatic, similar procesoarelor externe, ar trebui să utilizați numai obiectul context global Rapoarte externe, care are tipul ExternalReportManager.

Faptul este că atunci când se utilizează versiunea client-server a operațiunii 1C, procesarea / rapoartele externe sunt deschise în modul sigur, în care utilizarea modului privilegiat este interzisă. Iar modul privilegiat este folosit foarte des în configurații tipice: formarea de formulare tipărite, diverse verificări de servicii (înregistrarea schimburilor), etc. Ca urmare, chiar și folosind un raport obișnuit pe ACS fără formular (în mod implicit, se folosește formularul general „Formular de raportare”) și salvând setările de raport personalizate (la referința corespunzătoare), veți primi o eroare despre acces insuficient drepturi la diferite constante și parametri de sesiune utilizați în scopuri de service după linie SetPrivilegedMode (Adevărat);

Soluția „corectă” ar fi conectarea procesoarelor și rapoartelor externe prin mecanismele BSP „Rapoarte și procesări suplimentare” cu dezactivarea modului sigur sau adăugarea de permisiuni (în opinia mea, din versiunea BSP 2.2.2.1). Dar dacă, dintr-un motiv oarecare, este necesară utilizarea fișierelor de raportare/procesare externe, atunci puteți configura un profil de securitate cluster care este utilizat ca profil de securitate în mod sigur pentru o anumită bază de informații.

Aș dori să remarc imediat că această opțiune nu este de preferat, dar din cauza diverselor circumstanțe, poate fi utilizată într-o formă atât de simplificată. De exemplu, am mai multe baze în diferite orașe, un local comun cu drepturi strict limitate, USB închis, etc., undeva folosesc Contabilitate 2.0, iar undeva 3.0, fac aproape toate rapoartele folosind ACS fără formulare, astfel încât acestea deschis în ambele versiuni. Servirea tuturor acestor rapoarte pentru versiuni diferite și baze de date diferite este o afacere consumatoare de timp și nepromițătoare. planurile includ o tranziție la o singură configurație și bază...

Creăm un profil.
În consola cluster, creați un profil de securitate în care setăm steaguri „Poate fi folosit ca profil de securitate în modul sigur”și „sub” Control total permis: „ „în modul privilegiat”.

În multe cazuri de utilizare a rapoartelor și procesare simplă, această metodă va fi aplicabilă. Pentru situații mai complexe, nu are sens să descriem procesul, deoarece este menționat în documentație (capacitatea de a personaliza profiluri de securitate pentru anumite fișiere externe prin specificarea hash-ului acestuia etc.).

P.S. Am crezut că profilurile de securitate funcționează doar atunci când se folosesc licențe pentru platforma și serverul nivelului CORP, dar această funcționalitate este îndeplinită și pe platforma 1C: Enterprise 8.3 (condițional, puteți apela PROF prin analogie cu configurațiile tipice Basic / PROF / CORP )

Top articole similare