DotNetNuke , DNN ou , est un système de gestion de contenu open-source programmé en ASP.NET Web le langage de programmation de Microsoft. Il est important de maintenir la sécurité à l'esprit lorsque vous écrivez modules qui se connectent au système DNN . Modules permettent aux développeurs d'étendre les fonctionnalités de la DNN CMS. Différents types de modules qui créent les informations utilisateur telles que les données forment , les biscuits et les requêtes peuvent être la proie de pirates qui cherchent à puiser dans vos données. Utilisez les exemples de code suivantes dans vos modules DNN pour les empêcher d' attaques courantes . Instructions
1
Utilisez la routine de InputFilter de DotNetNuke pour filtrer les fonctions telles que les injections SQL et l'exécution d'autres types d'utilisateurs balisage , par exemple :
Enum FilterFlag
MultiLine - 3
NoMarkup - 1 x
NoScripting - 5
NoSQL - 9 Photos
End Enum
2
Arrêtez votre modules DNN de tomber victime des attaques par injection SQL en ajoutant des procédures pour se prémunir contre les requêtes indésirables :
créer getSearchResults proc ( @ searchTerm nvarchar ( 50) )
comme
déclarant @ sql nvarchar (300)
set @ sql - 'SELECT * FROM searchResults où SearchTerm comme ''% '
+ @ searchTerm + '% '''
exec sp_executesql @ sql
aller
3
Utilisez InputFilter avec le paramètre NoMarkup pour éviter que vos modules d'être détecté par des scripts inter-sites , les serveurs de base de données à analyser les vulnérabilités : < br >
MySearch As string- Request.QueryString ( " txtSearch " )
objSecurity As New PortalSecurity
MySearch - objSecurity.InputFilter ( MySearch , PortalSecurity.FilterFlag.NoMarkup ) < br >
lblSearchtext.text - "Searching for :" & mySearchTerm