DotNetNuke , o DNN , è un open- source del sistema di gestione dei contenuti programmato in linguaggio di programmazione di Microsoft ASP.NET web. E ' importante mantenere la sicurezza in mente quando si scrivono i moduli che si collegano al sistema di DNN . I moduli consentono agli sviluppatori di estendere le funzionalità del CMS DNN . Diversi tipi di moduli che creano le informazioni relative all'utente, quali dati dei moduli, i cookie e le query possono cadere preda di hacker che cercano di attingere i dati. Utilizzare i seguenti esempi di codice nei moduli DNN per bloccare loro di attacchi comuni . Istruzioni
1
Utilizzare InputFilter di routine di DotNetNuke per filtrare le funzioni come SQL injection e l'esecuzione di altri tipi di utente markup , ad esempio:
Enum FilterFlag
MultiLine - 3
NoMarkup - 1
NoScripting - 5
NoSQL - 9
End Enum
2
stop è la tua moduli DNN di cadere vittima di attacchi di SQL injection con l'aggiunta di procedure per evitare le query indesiderati :
creano GetSearchResults proc ( @ searchTerm nvarchar ( 50 ) ) per
come
declar @ sql nvarchar ( 300 ) per
set @ sql - ' select * from searchResults dove SearchTerm come '' % '
+ @ searchTerm + '% '''
exec sp_executesql @ sql
andare
3
Usate InputFilter con il parametro NoMarkup per evitare che i moduli vengano rilevati dal script cross-site , quali server di database di scansione delle vulnerabilità : < br >
Dim MySearch come stringa - Request.QueryString ( " txtSearch " ) per
Dim objSecurity As New PortalSecurity
MySearch - objSecurity.InputFilter ( MySearch , PortalSecurity.FilterFlag.NoMarkup ) < br >
lblSearchtext.text - "Ricerca di : " & mySearchTerm