DotNetNuke , eller DNN är ett open-source content management system programmeras i Microsofts ASP.NET web programmeringsspråk . Det är viktigt att hålla säkerheten i åtanke när du skriver moduler som ansluter till DNN systemet . Moduler tillåter utvecklare att utöka funktionerna i DNN CMS . Olika typer av moduler som skapar användarinformation såsom formulärdata, cookies och frågor kan falla offer för hackare som vill utnyttja dina data . Använd följande exempel på kod i din DNN -moduler för att blockera dem från vanliga attacker . Instruktioner
1
Använd DotNetNuke s InputFilter rutin att filtrera bort funktioner såsom SQL injektioner och genomförandet av andra typer av användare uppmärkning , till exempel :
Enum FilterFlag
MultiLine - 3 bilder
NoMarkup - 1
NoScripting - 5
NoSQL - 9
End Enum
2
Stoppa DNN -moduler från att falla offer för SQL injection attacker genom att lägga till förfaranden för att skydda sig mot oönskade frågor :
skapa proc GetSearchResults ( @ searchTerm nvarchar ( 50 ) ) katalog
som
declar @ sql nvarchar ( 300 ) katalog
set @ sql - " välj * från sökresultaten där SearchTerm som''% "
+ @ searchTerm + ' % '' '
exec sp_executesql @ sql
gå
3 InputFilter
användning med NoMarkup parametern för att förhindra att dina moduler inte kan upptäckas av cross-site skript, som genomsökning databasservrar för sårbarheter :
Dim Mysearch som sträng - request.querystring ( " txtSearch " ) katalog
Dim objSecurity som ny PortalSecurity
Mysearch - objSecurity.InputFilter ( Mysearch , PortalSecurity.FilterFlag.NoMarkup )
lblSearchtext.text - " Söker efter : " & mySearchTerm