Fórum Gravar textos de caracteres #65679

22/08/2006

0

Olá pessoal,

Estou usando Visual Studio 2005 + MySQL para fazer um programinha de dicas e gostaria de saber como posso salvar registros q contenham caracteres especiais, por exemplo, como faço para salvar um texto como este:

<HTML> <HEAD> <TITLE>Titulo</TITLE> <meta http-equiv=´Content-Type´ content=´text/html; charset=iso-8859-1´> <style type=´text/css´> .quebrapagina { page-break-before: always; } </style> </HEAD> <BODY> <p>Pagina 1</p> <br class=´quebrapagina´> <p>Pagina 2</p> <br class=´quebrapagina´> <p>Pagina 3</p> <br class=´quebrapagina´> <p>Pagina 4</p> </BODY> </HTML>


Pois quando tento salvá-lo, surge a mensagem:

A potentially dangerous Request.Form value was detected from the client (TxtDescricao=´<HTML> <HEAD> ...´). 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 (TxtDescricao=´<HTML> <HEAD> ...´).



Ilanocf

Ilanocf

Responder

Posts

24/08/2006

Rogeriorock

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 vc ira desativar a verificação de segurança.


Responder

Gostei + 0

25/08/2006

Ilanocf

Cara!!! Deu certo! Gravou blz!

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 

[b]ValidateRequest="False"[/b]

que vc ira desativar a verificação de segurança.


Mas, quais as vantagens e desvantagens de se usar este atributo? Isso pode interferir em alguma coisa na minha aplicação futuramente?

Grato,

Ilano.


Responder

Gostei + 0

25/08/2006

Rogeriorock

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


Responder

Gostei + 0

25/08/2006

Ilanocf

Vc quer dizer assim?

Private Sub IncluirDicas()
        Dim Conexao As MySqlConnection
        Dim myCommand As New MySqlCommand
        Dim tData As String
        Try
            tData = Format(Now, "yyyy-MM-dd")
            Conexao = New MySqlConnection(Cx)
            Conexao.Open()
            myCommand.Connection = Conexao
            myCommand.CommandText = "INSERT INTO tb_dicas (Dica_Data, Dica_Titulo, Dica_Descricao, " & _
            " Ling_Codigo, Dica_Fonte, Usu_Codigo) " & _
            " VALUES (?P1, ?P2, ?P3, ?P4, ?P5, ?P6)"
            myCommand.Prepare()
            myCommand.Parameters.Add("?P1", tData)
            myCommand.Parameters.Add("?P2", UCase(Trim(TxtTitulo.Text)))
            [i][color=green]´Assim ele faz apenas com caracteres que tenham aspas, mas com caracteres que tenham os sinais maior, menor, ... não grava, dá aquele erro que postei anteriormente.[/color][/i]
            [b][color=red]myCommand.Parameters.Add("?P3", Server.HtmlEncode(Trim(TxtDescricao.Text)))[/color][/b]
           [color=green][i]´Tentei assim também:
           ´myCommand.Parameters.Add("?P3", MySqlDbType.LongBlob).Value = UCase(Trim(TxtDescricao.Text))
            ´Mas não deu certo.[/i][/color]
            myCommand.Parameters.Add("?P4", DropLinguagem.SelectedValue)
            myCommand.Parameters.Add("?P5", TxtAutor.Text)
            myCommand.Parameters.Add("?P6", DropUsuario.SelectedValue)
            myCommand.ExecuteNonQuery()
            LimparCampos(Page.Controls)
            PovoaGrid()
            MVDicas.ActiveViewIndex = 0
            TxtConsulta.Focus()
            Conexao.Close()
        Catch ex As Exception
            LbMensagem.Text = "Ocorreu um erro. Verifique se os campos estão preenchidos corretamente. <div> Caso o erro continue envie-nos um e-mail. </div>"
            TxtTitulo.Focus()
        End Try

    End Sub



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar