Hvordan lage sikre DNN moduler

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 systemet. Moduler lar utviklere å utvide funksjonaliteten til DNN CMS. Ulike typer moduler som skaper brukerinformasjon som skjemadata, informasjonskapsler og spørringer kan bli offer 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.

Bruksanvisning

1 Bruk DotNetNuke er InputFilter rutine å filtrere ut funksjoner som SQL-injeksjoner og gjennomføring av andre typer bruker markup, for eksempel:

Enum FilterFlag
Multi - 3
NoMarkup - 1
NoScripting - 5
NoSQL - 9
slutt Enum

2 Stoppe DNN moduler fra å falle offer for SQL-injeksjon angrep ved å legge til prosedyrer for å beskytte mot uønskede spørsmål:

skape proc GetSearchResults (@searchTerm nvarchar (50))
som
erklæri @sql nvarchar (300)
satt @sql - "select * from search hvor SEARCH som ''% '

@searchTerm + '%' ''
exec sp_executesql @sql


3 Bruk InputFilter med NoMarkup parameter for å hindre at modulene blir oppdaget av cross-site skript, som skanner databaseservere for sårbarheter:

Dim Mysearch som STRING Request.QueryString ( "txtSearch")
Dim objSecurity som ny PortalSecurity
Mysearch -objSecurity.InputFilter (Mysearch, PortalSecurity.FilterFlag.NoMarkup)
lblSearchtext.text- "Søke etter:" & mySearchTerm