Condividi tramite


Protezione dei componenti della finestra di progettazione dei controlli personalizzati

Aggiornamento: novembre 2007

Per numerosi controlli server Web ASP.NET personalizzati sono disponibili componenti corrispondenti della finestra di progettazione che forniscono funzionalità di rendering e di modifica del controllo in fase di progettazione. Quando il controllo è in visualizzazione Progettazione, il componente della finestra di progettazione elabora le modifiche delle proprietà ed esegue il rendering HTML per l'host di progettazione, ad esempio Visual Studio 2005. In fase di progettazione, il componente della finestra di progettazione di un controllo personalizzato viene eseguito con lo stesso livello di attendibilità utilizzato dal relativo host di progettazione. I componenti della finestra di progettazione possono accedere a database, effettuare chiamate a siti Web su un server remoto, creare e scrivere file nel computer dello sviluppatore, inviare messaggi di posta elettronica ed eseguire codice in altri assembly.

In questo argomento vengono fornite informazioni sulle procedure consigliate per migliorare la protezione delle funzionalità della finestra di progettazione dei controlli.

Anche se le procedure consigliate per la codifica e la configurazione consentono di migliorare la protezione dell'applicazione, è importante mantenere costantemente aggiornati il server applicazioni in base ai più recenti aggiornamenti per la protezione di Microsoft Windows e Internet Information Services (IIS), nonché tutti i package relativi ai controlli personalizzati installati nel computer.

Per informazioni più dettagliate sulle procedure consigliate per scrivere codice protetto e proteggere le applicazioni, consultare il libro "Writing Secure Code" di Michael Howard e David LeBlanc oppure leggere le istruzioni disponibili nel sito Web Microsoft Patterns and Practices.

Suggerimenti per gli utenti di controlli personalizzati

È necessario tenere presente che i controlli personalizzati di origini sconosciute possono contenere finestre di progettazione che espongono dati riservati del computer sul Web o eseguire malware in fase di progettazione. Inoltre, non è possibile utilizzare la configurazione di accesso al codice per limitare l'accesso per le finestre di progettazione dei controlli poiché queste ultime devono essere sempre eseguite nell'host di progettazione con attendibilità totale. Per ulteriori informazioni sui livelli di attendibilità, vedere Livelli di attendibilità e file di criteri ASP.NET.

Suggerimenti per gli sviluppatori di controlli personalizzati

L'utilizzo di attributi di configurazione su classi e membri per limitare le autorizzazioni al livello minimo richiesto per il corretto funzionamento del controllo non è efficace per i componenti della finestra di progettazione. Questi ultimi devono infatti essere eseguiti nell'host di progettazione con attendibilità totale.

Per la generazione di dati per le anteprime del controllo in fase di esecuzione si consiglia di utilizzare sempre, se possibile, strutture di dati di esempio anziché i dati potenzialmente riservati di un database.

Suggerimenti per gli sviluppatori di host di progettazione

Si consiglia agli sviluppatori di host di progettazione quali Visual Studio 2005 di verificare che il markup HTML, il testo e altri dati restituiti dalla finestra di progettazione non presentino rischi per la sicurezza prima di visualizzarli. Si consiglia inoltre di limitare le dimensioni delle stringhe di codice HTML e delle aree della finestra di progettazione in modo da semplificare la gestione. Per ulteriori informazioni sulla convalida HTML, vedere Convalida dell'input utente nelle pagine Web ASP.NET.

Vedere anche

Concetti

Introduzione alla protezione dall'accesso di codice

Riferimenti

Convalida dell'input utente nelle pagine Web ASP.NET

Altre risorse

Linee guida e suggerimenti