Gravar textos de caracteres
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:
Pois quando tento salvá-lo, surge a mensagem:
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
Curtidas 0
Respostas
Rogeriorock
22/08/2006
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.
ValidateRequest=False
que vc ira desativar a verificação de segurança.
GOSTEI 0
Ilanocf
22/08/2006
Cara!!! Deu certo! Gravou blz!
Mas, quais as vantagens e desvantagens de se usar este atributo? Isso pode interferir em alguma coisa na minha aplicação futuramente?
Grato,
Ilano.
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.
GOSTEI 0
Rogeriorock
22/08/2006
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
GOSTEI 0
Ilanocf
22/08/2006
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
GOSTEI 0