Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

Gravar caracteres especiais

Recommended Posts

Olá pessoal,Tenho em minha tabela um campo do tipo memo, mas tem casos em q preciso colocar aspas, sinais de maior e menor e outros caracteres. Só q, quando salvo, dá um erro. Por exemplo:

Protected Sub BtnGravar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGravar.Click Dim Conexao As MySqlConnection Dim myCommand As New MySqlCommand Conexao = New MySqlConnection(Cx) Conexao.Open() myCommand.Connection = Conexao myCommand.CommandText = "INSERT INTO tb_historias (Hist_Autor, Lit_Codigo, Hist_Titulo, Hist_Redacao, Usu_Codigo) " & _ " VALUES (?P1, ?P2, ?P3, ?P4, ?P5)" myCommand.Prepare() myCommand.Parameters.Add("?P1", UCase(Trim(TxtAutor.Text))) myCommand.Parameters.Add("?P2", DropLiteratura.SelectedValue) myCommand.Parameters.Add("?P3", UCase(Trim(TxtTitulo.Text))) myCommand.Parameters.Add("?P4", Trim(TxtRedacao.Text)) myCommand.Parameters.Add("?P5", LbUsuCodigo.Text) myCommand.ExecuteNonQuery() LimparCampos(Page.Controls) TxtTitulo.Focus() End Sub

O erro é este:

A potentially dangerous Request.Form value was detected from the client (TxtRedacao="...ntem."<b>Moral da história..."). Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TxtRedacao="...ntem."<b>Moral da história...").

Como faço para corrigir isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você for usar na web esses texto, há perigo de ataques XSS se você não colocou nenhum tipo de filltro.Para evitar isso e também esse problema com as aspas duplas ("), na inclusão no banco.Use TextBox1.Text = Server.HtmlEncode(TextBox1.Text), assim seus caracteres serão serão substituidos, exemplo da " que fica ", assim você consegue mostrar isso em qualquer navegador e colocar no seu banco mySQl.Dá uma olhada só de curiosidade o codigo HTML dessa pagina do forum lá vai ter " que são as ".

Compartilhar este post


Link para o post
Compartilhar em outros sites

gabrielmarquez,beleza! Mas, como faço para aplicar um negrito, por exemplo? Pois continua dando erro quando utilizo as tags [ b ] [ /b ].

Compartilhar este post


Link para o post
Compartilhar em outros sites

gabrielmarquez,Ainda está dando erro. Por exemplo, quando eu cadastro a primeira vez grava beleza, porém, quando mando editar para corrigir algo no texto aparece o erro:

A potentially dangerous Request.Form value was detected from the client (TxtRedacao="...o de ninguém. Desafio a t..."). Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TxtRedacao="...o de ninguém. Desafio a t...").

Como posso resolver isso?Grato,Ilano.Desculpe, o erro foi resolvido. Agora só falta implementar negrito, itálico, quotes, ... coisas do tipo.Por favor, se puderem me ajudar, está faltando pouco para concluir esse projeto.Grato,Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,Como faço para salvar em banco texto do tipo:

<TABLE borderColor=white bgColor=gainsboro border=0> <TBODY> <TR bgcolor=whitesmoke> <TH width=174 bgColor=aliceblue colSpan=2><FONT face=verdana size=2><B>NOME</B></FONT></TH> <TH width=76 bgColor=aliceblue><FONT face=verdana size=2><B>CÓDIGO</B></FONT></TH> <TH width=174 bgColor=aliceblue colSpan=2><FONT face=verdana size=2><B>NOME</B></FONT></TH> <TH width=76 bgColor=aliceblue><FONT face=verdana size=2><B>CÓDIGO</B></FONT></TH></TR> <TR bgcolor=ghostwhite bordercolor=black> <TD width=25 bgColor=red> </TD> <TD width=149> red</TD> <TD align=middle width=76><TT>ff0000</TT> </TD> <TD width=25 bgColor=maroon> </TD> <TD width=149>maroon</TD> <TD align=middle width=76><TT>800000</TT> </TD></TR> <TR bgcolor=whitesmoke> <TD width=25 bgColor=lime> </TD> <TD width=149> lime</TD> <TD align=middle width=76><TT>00ff00</TT> </TD> <TD width=25 bgColor=green> </TD> <TD width=149> green</TD> <TD align=middle width=76><TT>008000</TT> </TD></TR> <TR bgcolor=whitesmoke>........

Grato,Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

Encontrei no Fórum DevMedia uma maneira de fazer isso:

 

Va ao codigo html da pagina e encontre a tag @page e logo a primeira a onde esta definida a herança a linguagem e td mais, acrecente o sequinte atributo

 

ValidateRequest="False"

 

que você ira desativar a verificação de segurança.

(RogerioRock)

Mas para ele este processo traz desvantagens:

 

Bem ao meu ver so desvantagens,pq isto e para evitar que se injete codigos, por exemplo se a pagina for um forum, se você desabilitar este atributo eu poderia por exemplo criar um java script que travase a pagina sempre na mesma linha ou cololocar uma imagem ---ografica.para evitar isto você teria que tratar o texto com htmlencode e htmldecode

(RogerioRock)

Se alguém aqui sober de outra(s) forma(s) para gravar dados daquele tipo q postei anteriormente.

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, estou usando o componente FreeTextBox, e ele gera arquivos HTML, eu utilizei o comando assim

 

Ftb1.text = Server.HtmlEncode(Ftb1.Text)

 

Mas mesmo assim ele gerou o erro de Potentially, não quero desabilitar a segurança do asp.net, como resolvo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.