DotNetNuke , eller DNN , er en åpen - kildekode content management system programmert i Microsofts ASP.NET web-programmeringsspråk . Det er viktig å holde sikkerheten i tankene når du skriver moduler som kobles til DNN system . Modulene tillate utviklere å utvide funksjonaliteten til DNN CMS. Ulike typer moduler som skaper brukerinformasjon som skjemadata , cookies og spørsmål kan falle byttedyr for hackere som ønsker å benytte seg av dine data . Bruk følgende eksempler på kode i dine DNN moduler for å blokkere dem fra vanlige angrep . Instruksjoner
en
Bruk DotNetNuke er InputFilter rutine å filtrere ut funksjoner som SQL -injeksjoner og gjennomføring av andre typer brukere markup, for eksempel : en
Enum FilterFlag
MultiLine - 3
NoMarkup - en
NoScripting - 5
NoSQL - 9
End Enum
2
Stopp DNN moduler fra å falle offer for SQL-injeksjon angrep ved å legge til prosedyrer for å beskytte mot uønskede henvendelser :
lage proc GetSearchResults ( @ searchTerm nvarchar ( 50 ) )
som
declar @ sql nvarchar ( 300 )
sett @ sql - " select * from searchresults der SearchTerm som '' % '
+ @ searchTerm + '% '' '
exec sp_executesql @ sql
gå
3
Bruk InputFilter med NoMarkup parameter for å hindre at modulene blir oppdaget av cross-site skript, som skanner database servere for sårbarheter :
Dim Mysearch som streng - Request.QueryString ( " txtSearch ")
Dim objSecurity som ny PortalSecurity
Mysearch - objSecurity.InputFilter ( Mysearch , PortalSecurity.FilterFlag.NoMarkup )
lblSearchtext.text - "Søke etter :" & mySearchTerm