Select the product you need help with
SafeCtl.exe implementa IObjectSafety nel controllo ActiveXIdentificativo articolo: 164119 - Visualizza i prodotti a cui si riferisce l?articolo. In questa paginaSommarioNell'esempio di SafeCtl.exe viene illustrato come modificare un controllo basato su MFC ActiveX per indicare che ha pubblicato il codice e se un controllo è stato alterato. L'esempio può aiutare a determinare se il controllo è sicuro per la creazione di script e sicuri per l'inizializzazione. InformazioniIl seguente file è disponibile per il download dall'Area download Microsoft: SafeCtl.exe Per ulteriori informazioni su come scaricare file di supporto Microsoft, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
(http://download.microsoft.com/download/vc50pro/safectl/1/win98/en-us/safectl.exe)
119591 Microsoft analizzati questo file per individuare eventuali virus. Microsoft ha utilizzato il software antivirus più recente disponibile alla data di pubblicazione del file. Il file è archiviato in server con protezione avanzata, che impedisce modifiche non autorizzate.
(http://support.microsoft.com/kb/119591/
)
Come ottenere file di supporto Microsoft dai servizi in linea In Internet Explorer 3.0 e versioni successive, gli utenti possono aggiungere codice sotto forma di controlli ActiveX nelle pagine Web. Il tag <object> consente di specificare un controllo. Dopo aver creata un'istanza del controllo, gli attributi possono essere impostati tramite le interfacce di persistenza del controllo. Ad esempio, per ciascun tag <param> che Internet Explorer si verifica nel contesto di un tag <object> durante l'analisi di una pagina HTML, Internet Explorer passa un elenco di proprietà tramite del controllo corrispondenteinterfaccia IPersistPropertyBag . Inoltre, è possibile personalizzare il comportamento di un controllo tramite l'utilizzo di script incorporato nella pagina per eseguire i metodi e modificare le proprietà esposte tramite l'interfaccia di automazione del controllo. Codice di Authenticode firma tecnologia consente agli utenti di fine per identificare l'autore del codice e di verificare che nessuno sia alterato tale codice dopo la firma. Non garantisce che il codice è sicura quando la proprietà vengono inizializzate con valori non attendibili o quando il modello di automazione dai script non attendibili. Per evitare tale protezione potenziali hazards, le impostazioni di protezione predefinite Internet Explorer, accessibili tramite la scheda protezione di Internet Explorer, Opzioni della finestra di proprietà foglio, è necessario che un controllo registrarsi come implementare le categorie di componente appropriato o che il controllo implementa l'interfaccia IObjectSafety . Nell'esempio vengono illustrati entrambi. Prima di imposta le proprietà di un controllo incorporato in una pagina HTML, Internet Explorer richiede il controllo IObjectSafety . Se supportato, verrà quindi chiama il SetInterfaceSafetyOptions metodo su questa interfaccia, passando il valore INTERFACESAFE_FOR_UNTRUSTED_DATA così come l'identificatore di interfaccia (IID) di un'interfaccia di persistenza. In pagine HTML oggi, in cui in genere essere inizializzati tramite il tag <param>, proprietà l'IID è IID_IPersistPropertyBag. L'IID viene fornito per situazioni in cui è possibile che si desidera essere proteggere la sicurezza in alcune interfacce ma non altri e in questo esempio non è importante. L'implementazione di esempio consente di assicurarsi che l'interfaccia è supportata. Se il controllo può non causa problemi al sistema del client indipendentemente di dati con cui può essere inizializzato tramite l'interfaccia di persistenza e l'interfaccia di persistenza è supportato, implementazione del controllo delmetodo IObjectSafety::SetInterfaceSafetyOptions deve restituire S_OK. In caso contrario, deve essere restituito E_FAIL. Prima di consentire tutti gli script incorporati nella pagina per essere eseguito, Internet Explorer in modo analogo chiama tramite il controllo IObjectSafety:: SetInterfaceSafetyOptions metodo ma passa invece il valore INTERFACESAFE_FOR_UNTRUSTED_CALLER e l'IID di alcuni script interfaccia, che è in genere IID_IDispatch. Il controllo deve restituire S_OK o E_FAIL in modo appropriato. Se il controllo non supporta IObjectSafety , Internet Explorer utilizza il gestore di categorie di componenti per vedere se il controllo implementa la categoria "sicuri per l'inizializzazione" CATID_SafeForInitializing e la categoria "sicuri per la creazione di script", CATID_SafeForScripting, rispettivamente. Se il controllo non supporta IObjectSafety e non è stato registrato come implementazione le categorie di componente appropriato e se il livello di protezione di Internet Explorer è impostato su elevato, l'impostazione predefinita, Internet Explorer non verrà inizializzato le proprietà del controllo, né verrà eseguito qualsiasi script incorporati nella pagina. In questo scenario, gli utenti finali visualizzata una finestra di dialogo che contiene il testo riportato di seguito: Seguito è riportato un elenco di linee guida sono tratte dall'articolo di Paul Johns "firma e contrassegnare controlli ActiveX:"
La firma e contrassegnare controlli ActiveX Se un autore del controllo ha verificato che i criteri sopra indicati sono stati soddisfatti oltre agli altri che ritengono di, consiglia di supporto entrambi IObjectSafety e registrare il controllo come implementare le categorie di componente appropriato. Per un elenco dei vantaggi e svantaggi di ciascuno di questi metodi, consultare la sezione corrispondente in articolo di Paul Johns, "firma e contrassegnare controlli ActiveX. http://msdn2.microsoft.com/en-us/library/ms974305.aspx
(http://msdn2.microsoft.com/en-us/library/ms974305.aspx)
Per la compilazioneGenerazione dell'esempio è necessario disporre Microsoft Visual c ++ 5.0 o Microsoft Visual c ++ 6.0. Una volta che si estraggono i file dall'archivio, caricare il progetto di Safectl.mdp in Microsoft Developer Studio e generare il progetto. Durante il processo di generazione, è consigliabile registrare il controllo stesso.avviso Prima di modificare l'esempio, utilizzare in seguito i simboli di per il preprocessore due elencati in questa sezione, è necessario annullare la registrazione di controllo se è già stato creato o registrato nel computer. A tale scopo, eseguire regsvr32.exe con l'opzione /u per il controllo. È inoltre possibile aggiungere una voce di strumento personalizzato in Developer Studio questa operazione viene eseguita per il progetto corrente. Fare clic su Personalizza dal menu Strumenti e quindi scegliere la scheda Strumenti crea una nuova voce con le seguenti informazioni:
Name: &Un-register ActiveX Control
Command: e:\Program Files\DevStudio\SharedIDE\BIN\REGSVR32.EXE
Arguments: /u /v "$(TargetPath)"
Initial Directory: $(TargetDir)
Per generare il controllo in modo che registra se stesso come implementare il "sicuri per l'inizializzazione di" e il "sicuri per lo script" categorie di componenti, attenersi alla seguente procedura:
Inoltre è valido per definire entrambi i simboli del preprocessore. Si noti che questi simboli sono specifici per questo progetto. Per impostazione predefinita, le impostazioni di generazione del progetto definiscono entrambi simboli del preprocessore. Per eseguireDopo il controllo di esempio è stato creato e registrato correttamente, avviare Internet Explorer e quindi aprire la pagina Safectl.htm, incluso con l'esempio.Se il controllo è stato configurato per registrarsi come sicuro o implementare IObjectSafety , leggere la didascalia di controlli "Sicuri per l'inizializzazione!" Quando si fa clic il controllo, è necessario il seguente messaggio: Se Internet Explorer è impostato per l'impostazione di protezione più alto, non viene eseguito lo script associato e viene visualizzato il seguente messaggio: Nota Se la generazione e test di diverse configurazioni di questo esempio, assicurarsi che che si aggiorna la pagina di Web nel browser. Se non si aggiorna la pagina, si stia utilizzando la versione memorizzata nella cache del controllo anziché la versione più recente. RiferimentiPer ulteriori informazioni sulle API di protezione, vedere la protezione riferimento API nella documentazione in linea di SDK di ActiveX. Per ulteriori informazioni la firma del codice, vedere "Firma con Microsoft Authenticode Technology" nella documentazione in linea di SDK di ActiveX. Per ulteriori informazioni sulle categorie dei componenti, vedere l'argomento di "Categorie di componenti" nella documentazione in linea di SDK di ActiveX. Per ulteriori informazioni su come implementare un COM (Component Object Model) dell'interfaccia in MFC, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato: 141277 Per informazioni dettagliate su come sviluppare un controllo ActiveX e modalità di distribuzione sul Web, visitare il sito di Web di Microsoft:
(http://support.microsoft.com/kb/141277/
)
Come eseguire l'override un'interfaccia in un'applicazione MFC utilizzando Visual c ++ L'ABC dei controlli ActiveX MFC http://msdn.microsoft.com/en-us/library/ms968497.aspx
(http://msdn.microsoft.com/en-us/library/ms968497.aspx)
ProprietàIdentificativo articolo: 164119 - Ultima modifica: giovedì 26 aprile 2007 - Revisione: 5.4 Le informazioni in questo articolo si applicano a:
Traduzione automatica articoli Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica. Clicca qui per visualizzare la versione originale in inglese dell?articolo: 164119
(http://support.microsoft.com/kb/164119/en-us/
)
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli
|




Torna all'inizio








