gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA5368 |
Titel | ViewStateUserKey instellen voor klassen die zijn afgeleid van pagina |
Categorie | Beveiliging |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Nee |
De Page.ViewStateUserKey eigenschap is niet toegewezen in Page.OnInit of de Page_Init
methode.
Wanneer u een ASP.NET webformulier ontwerpt, moet u rekening houden met csrF-aanvallen (cross-site request forgery). Een CSRF-aanval kan schadelijke aanvragen verzenden van een geverifieerde gebruiker naar uw ASP.NET webformulier.
Een manier om te beschermen tegen CSRF-aanvallen in ASP.NET webformulier is door een pagina ViewStateUserKey in te stellen op een tekenreeks die onvoorspelbaar en uniek is voor een sessie. Zie Profiteren van ASP.NET ingebouwde functies voor Fend Off Web Attacks voor meer informatie.
Stel de ViewStateUserKey eigenschap in op een onvoorspelbare en unieke tekenreeks per sessie. Als u bijvoorbeeld ASP.NET sessiestatus gebruikt, HttpSessionState.SessionID werkt dit.
Het is veilig om een waarschuwing van deze regel te onderdrukken als:
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA5368
// The code that's violating the rule is on this line.
#pragma warning restore CA5368
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA5368.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.
using System;
using System.Web.UI;
class ExampleClass : Page
{
protected override void OnInit (EventArgs e)
{
}
}
using System;
using System.Web.UI;
class ExampleClass : Page
{
protected override void OnInit (EventArgs e)
{
// Assuming that your page makes use of ASP.NET session state and the SessionID is stable.
ViewStateUserKey = Session.SessionID;
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registreren