SafeCtl.exe implementuje IObjectSafety, vďaka v ovládací prvok ActiveX

Preklady článku Preklady článku
ID článku: 164119 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

SafeCtl.exe vzorka ukazuje, ako zmeniť MFC založený ovládací prvok ActiveX uviesť, kto publikoval kód a či kontrola bola sfalšovaná. Vzorku môže pomôcť identifikovať či kontrola je bezpečné na skriptovanie a inicializáciu.

DALSIE INFORMACIE

V nasledovný súbor je k dispozícii na prevzatie od Microsoft Download Centrum:
SafeCtl.exe
Pre viac informácie o preberaní Microsoft podporné súbory, kliknite na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
119591 Získanie podporných súborov spoločnosti Microsoft zo služieb online
Tento súbor bol skontrolovaný antivírusovým programom spoločnosti Microsoft. Microsoft používa najviac aktuálny antivírusový softvér, ktorý bol k dispozícii v deň že súbor bol vyslaný. Súbor je uložený na zabezpečených serveroch, ktoré pomáhajú zabrániť akékoľvek neoprávnené zmeny súboru.

V Internet Explorer 3.0 a novších verziách, používatelia môžu pridať kód vo forme ovládacie prvky ActiveX na ich webové stránky. V <object>značka sa používa na určenie ovládací prvok. Po inštanciu kontrola je vytvorená, jeho atribúty môžete nastaviť prostredníctvom ovládacieho prvku pretrvávanie rozhrania. Napríklad, pre každú <param> tag či prehľadávač Internet Explorer stretne v súvislosti s <object>značku pri parsování HTML stránky, Internet Explorer prechádza vlastníctva taška cez zodpovedajúce kontrolu<b00> </b00> </object> </object>IPersistPropertyBag rozhranie. Okrem toho môže byť správanie ovládací prvok prispôsobené prostredníctvom uplatňovania skripty vložené na stránky, ktoré spustiť metódy a meniť vlastnosti vystavené prostredníctvom ovládacieho prvku automatizácie rozhranie.

Podpisovaním technológie Authenticode kódu umožňuje koncovým užívateľom na určiť, kto publikoval kód a overiť, že nikto nebol upravený, Tento kód od podpísania. Nezaručuje, že kód je bezpečné, keď jeho vlastnosti sú inicializované nedôveryhodné hodnotami alebo keď jeho automatizácia vzor je poháňaný nedôveryhodné skripty. Aby sa zabránilo takéto potenciálnych bezpečnostných rizík, predvolené Internet Explorer nastavenie zabezpečenia, ktoré sú prístupné cez Zabezpečenie na karte program Internet Explorer MožnostiVlastnosť list, vyžadujú, aby ovládací prvok zaregistrovať ako vykonávací vhodné kategórií súčastí alebo kontrolu implementovať IObjectSafety, vďaka rozhranie. Vzorky ilustruje oboje.

Predtým, ako ju stanovuje vlastnosti ovládacieho prvku vložené do HTML stránky, program Internet Explorer dotazy ovládanie pre IObjectSafety, vďaka. Ak podporovaná, program Internet Explorer potom volá SetInterfaceSafetyOptions metóda na tomto rozhraní absolvovanie hodnota INTERFACESAFE_FOR_UNTRUSTED_DATA ako aj rozhranie identifikátor (IID) pretrvávanie rozhranie. Na HTML stránky dnes, kde vlastnosti majú tendenciu byť inicializovaný cez <param> je IID_IPersistPropertyBag tag, IID. V IID je ustanovené situácií, kde by ste mali chrániť bezpečnosť na niektoré rozhrania, ale nie na ostatné, a v tomto príklade, ktorý nie je dôležité. Uistite sa, že je podporované rozhranie kontroly vzorky implementácie. Ak ovládací prvok môžete nemajú nič zlého klienta systému bez ohľadu na údaje s ktorými môže byť inicializovaná pretrvávanie rozhranie, ktoré pretrvávanie rozhranie je podporovaný, ovládacieho prvku implementácie IObjectSafety::SetInterfaceSafetyOptions metóda by mala vrátiť S_OK. Inak by mali byť vrátené E_FAIL.

Predtým, než povolí všetky skripty, vložené na stránke spustiť, Internet Explorer podobne vyzýva prostredníctvom ovládacieho prvku IObjectSafety, vďaka:: SetInterfaceSafetyOptions metóda, ale namiesto toho prechádza hodnota INTERFACESAFE_FOR_UNTRUSTED_CALLER a IID niektoré skriptovacie rozhranie, ktoré je zvyčajne IID_IDispatch. Kontroly by sa mali vrátiť S_OK alebo E_FAIL správne zapojený.

Ak ovládací prvok nepodporuje IObjectSafety, vďakaInternet Explorer používa manažér komponentu kategórií vidieť Ak kontroly implementuje "bezpečné inicializáciu" Kategória CATID_SafeForInitializing a „bezpečné pre skriptovanie"Kategória CATID_SafeForScripting, resp..

Ak ovládací prvok nepodporuje IObjectSafety, vďaka a nie je registrovaný sám ako vykonávanie vhodných kategórií súčastí a ak Internet Explorer úroveň bezpečnosti nastavená na vysoký, Predvolene program Internet Explorer bude inicializovať vlastnosti ovládacieho prvku, ani vykoná všetky skripty, vložené na stránky. V tomto scenár, koncovým používateľom zobrazí dialógové okno, ktoré obsahuje nasledovný text:
Možného porušenia bezpečnosti vyhnúť
Túto stránku obsahuje aktívny obsah, ktorý nie je preukázateľne bezpečné na zobrazenie. Na ochranu vášho počítač, tento obsah sa nezobrazia.
Nasleduje zoznam usmernení, ktoré sú prevzaté z článku Paul Johns, „podpísania a označovanie Ovládacie prvky ActiveX: ”
  • Ovládací prvok nebude manipulovať s systému súborov.
  • Ovládací prvok nebude manipulovať s databázy registry (okrem zaregistrovať a registráciu sama).
  • Ovládací prvok nie je overindex polia alebo inak manipulovať s pamäte nesprávne.
  • Kontrolu overuje (a opravuje) všetky vstup, vrátane Inicializácia, parametrov metódy a majetku nastaviť funkcie.
  • Kontroly nesmú zneužívať všetky údaje, ktoré poskytol používateľ alebo že je o zadanom užívateľovi.
  • Kontrola bola testovaná v rôznych scenáre.
Pre ďalšie informácie, navštívte nasledujúce Microsoft Web lokalita:
Podpisovanie a Označenie ovládacích prvkov ActiveX
http://msdn2.Microsoft.com/en-us/library/ms974305.aspx
Ak kontroly autora overila, že vyššie uvedené kritériá boli splnené popri akékoľvek iné, ktoré môžu myslieť, by mali zvážiť podporu oboch IObjectSafety, vďaka a registrácie ich kontrolou ako vykonávací vhodné kategórií súčastí. Zoznam výhody a nevýhody každej tieto metódy preskúmať zodpovedajúce časti článku Paul Johns, "Podpísania a označovanie ovládacích prvkov ActiveX."

Zostaviť

Budovanie vzorky vyžaduje Microsoft Visual c ++ 5.0 alebo Microsoft Visual C++ 6.0. Po extrahovaní súborov z archívu, načítať Safectl.MDP projekt do Microsoft Developer Studio a stavať projektu. Ako súčasťou procesu stavať kontroly by mali zaregistrovať.

Upozornenie Skôr, ako zmeníte vzorky pomocou dvoch Preprocesor symboly, ktoré sú neskôr uvedené v tomto oddiele, máte registráciu Ovládací prvok, ak už bolo postavené alebo registrované v počítači. Na to, spustiť nástroj Regsvr32.exe s /u prepínač pre vašu kontrolu. Môžete pridať aj vlastné nástroj položka v Vývojárske štúdio, ktoré bude to pre súčasný projekt. Na Nástroje ponuky, kliknite na tlačidlo Prispôsobiť, a potom kliknite na tlačidlo The Nástroje Kreslenie vytvoriť novú položku s nasledujúcim informácie:
                Name: &Un-register ActiveX Control
             Command: e:\Program Files\DevStudio\SharedIDE\BIN\REGSVR32.EXE
           Arguments: /u /v "$(TargetPath)"
   Initial Directory: $(TargetDir)
				
Na tomto mieste môžete použiť „nástroje/Un-registra ActiveX Kontrolné"položka registráciu vašu kontrolu pred pridať alebo odstrániť vzorky-špecifické PREPROCESORA definície.

Vybudovať kontroly tak, aby registruje sám ako vykonávací "bezpečné pre inicializuje" a "bezpečné pre skriptovanie"kategórií súčastí, postupujte nasledovne:
  1. Na Project ponuky, kliknite na tlačidloNastavenie.
  2. Kliknite na C ++ kartu a potom definovať PREPROCESORA vymedzenie:
    L_USE_COMCAT
  3. Kliknite na položku ok ZatvorteNastavenie dialógové okno, a potom znova kontrolu.
Vybudovať kontrolu tak, že namiesto implementuje IObjectSafety, vďaka, postupujte podľa predchádzajúcich pokynov, ale nahradiť L_USE_COMCAT s L_IMPL_OBJECTSAFETY.

Je tiež platné definovať oboch Preprocesor symboly. Poznamenávajú, že tieto symboly sú špecifické pre tento projekt. V predvolenom nastavení vybudovať nastavenia projektu definovať oboch PREPROCESORA symboly.

Ak chcete spustiť

Po vzorky kontroly bola postavená a bol zaregistrovaný úspešne, spustite program Internet Explorer a otvorte Safectl.htm stránku, ktorý je súčasťou vzorky.

Ak bol konfigurovaný kontrolu zaregistrovať ako bezpečné alebo implementovať IObjectSafety, vďaka, mali by si prečítať ovládacie prvky popisu "Bezpečné pre inicializuje!" keď, kedy kliknite na ovládací prvok, dostanete nasledovné hlásenie:
Musia byť bezpečné pre skriptovanie!
Ak Internet Explorer nastavená na jeho najvyššej bezpečnosti nastavenie, priradené skript neposkytuje Run, a zobrazí nasledujúce hlásenie:
NIE je bezpečná pri inicializácii!


Poznámka: Ak ste budovania a testovanie rôznych konfigurácií tohto vzorky, uistite sa, že ste obnovili webovú stránku v prehľadávači. Ak nemáte obnovte stránku, možno používate verziu ovládacieho prvku namiesto Najnovšie stavať.

ODKAZY

Ďalšie informácie o bezpečnosti API, pozri bezpečnosť API reference v online dokumentácii ActiveX SDK.

Pre viac informácie o podpisovanie kódu, nájdete "podpise s Microsoft Authenticode Technológia"v online dokumentácii ActiveX SDK.

Pre viac informácie o kategórií súčastí nájdete v téme "Komponent kategórie" v online dokumentácia ActiveX SDK.

Ďalšie informácie o tom, ako vykonávať COM Component Object Model) rozhranie v MFC, kliknite na nasledovné číslo článku zobrazte článok v Microsoft Knowledge Base:
141277Ako prepísať rozhranie v aplikácii MFC pomocou Visual c ++
Podrobné informácie o tom, ako rozvíjať Ovládací prvok ActiveX a nasadení na webe, navštívte nasledujúce Microsoft Webová lokalita:
ABCs ovládacie prvky MFC ActiveX
http://msdn.Microsoft.com/en-us/library/ms968497.aspx
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Vlastnosti

ID článku: 164119 - Posledná kontrola: 17. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
Kľúčové slová: 
kbdownload kbfile kbinfo kbsample kbmt KB164119 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:164119

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com