Domanda

asp.net ha un meccanismo integrato che può disinfettare tutto l'input della casella di testo invece di reindirizzare alla pagina di errore?

Ho un input per la casella di testo in cui un utente può inserire un nome, ma se provano a inserire e < > tag la pagina genera automaticamente un errore. Voglio solo gestire questo errore in modo intuitivo.

È stato utile?

Soluzione

Puoi utilizzare ASP.NET RegularExpressionValidator control con un modello come: ^[^<>]*$

<asp:RegularExpressionValidator ID="rev" runat="server"
    ControlToValidate="txtBox"
    ErrorMessage="The <> tags are not allowed!"
    ValidationExpression="[^<>]*" />
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtBox" 
    ErrorMessage="Value can't be empty" />

RequiredFieldValidator viene utilizzato insieme a RegularExpressionValidator per impedire voci vuote. Se quella casella di testo è facoltativa e deve essere convalidata solo quando viene inserito qualcosa, non è necessario utilizzare RequiredFieldValidator.

Il vantaggio di farlo in questo modo è che l'errore può essere gestito con garbo e l'utente può essere avvisato sulla stessa pagina.

Tuttavia, se è necessario eseguire questa operazione per molte caselle di testo e si desidera semplicemente presentare qualcosa di più bello della pagina di errore, è possibile gestire l'errore ValidateRequest per fornire un messaggio più amichevole e mantenere l'utente sulla stessa pagina (non solo sostituire con una pagina di errore personalizzata). Per maggiori informazioni, consulta il post di Kirk Evans: Gestione degli errori ValidateRequest all'interno di una pagina (consultare la sezione intitolata Sostituzione del metodo OnError).

Altri suggerimenti

Ti consigliamo di consultare la AntiXSS per quello. È una DLL quindi è facile entrare e iniziare a usarlo.

Il download è disponibile all'indirizzo CodePlex .

ASP.net ha controlli di validazione

[ http://msdn.microsoft.com/ it-it / library / 7kh55542.aspx] [1]

Inoltre c'è Mark Down Editor che è un controllo che elimina tag html ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top