Tira a mão daí .NET!

Publicado por Marcos Dell Antonio em 02/12/2006 | .NET

Hoje ao clicar no botão Enviar de um form a seguinte mensagem apareceu:

A potentially dangerous Request.Form value was detected from the client (_txtMessage=”Teste <a href=”teste.pph”>…”).

Após uma rápida pesquisa no Google, descobri que o .NET Framework é inteligente o suficiente para interceptar um submit que contenha tags html.

Para ele não interferir nesse processo e a validação ficar por conta do usuário, basta definir a diretiva ValidateRequest da nossa página:

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”default.aspx.cs” Inherits=”_default” ValidateRequest=”false” %>

Outra solução é definir o ValidateRequest globalmente no Web.config:

<pages validateRequest="false" />

Com essa diretiva desabilitada, existem basicamente duas possibilidades de tratar o texto digitado:

- Remover todas as tags HTML do texto:

string str = Regex.Replace(_txtMessage.Text,@”<(.|\n)*?>”,string.Empty);

- Permitir tags HTML e utilizar uma função de Encode:

string str = HttpUtility.HtmlEncode(_txtMessage.Text);

É isso aí! Estou com problemas no add-in para inserir código no blog, mas de qualquer forma foi no modo mais simples. :)

T+

Deixe o seu comentário

Anúncios

Anúncio provido pelo BuscaPé