Ir para conteúdo
Fórum Script Brasil
  • 0

Salvar Tags Html No Banco De Dados


maikel

Pergunta

Salve galera...

Seguinte... to desenvolvendo um sisteminha onde gostaria de colocar algumas utilidades extras.. tipo.. o usuário personalizar o layout no qual o registro será exibido depois na página pelo select no banco... tipo.. colocar uma tag html com a cor <font color="red">Teste</font>, porém meu .Net Framevork 1.1 não permite que seja salva a tag no banco... Uso delphi 2006 e Firebird. Fiz um teste... removi a primeira tag < deixando o texo assim: font color="red">Teste</font> e ele salvou beleza.

Tem algum lugar... ou código, onde eu diga que ele pode salvar esse tipo de tags... <b>, <s>, <i>... entre outros...

Se alguém puder me dar uma dica... agradeço...

Att

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Isso porque o ASP.net não deixa o desenvolvedor fazer manipulações com TAG's HTML, por questões de segurança. Para não ter mais essa validação, faça o seguinte:

<% @Page Language="SUA LINGUAGEM" ValidateRequest="false" %>

Qualquer coisa, post! Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Graymalkin e Denis

Obrigado por responder o tópico...

Graymalkin... o código que eu uso para inserir é o seguinte:

Var

BdpCom: BdpCommand;

BdpRead: BdpDataReader;

Begin

BdpCom:=BdpCommand.Create('INSERT INTO ACOMPANHAMENTO (COD_FORMATACAO, '+

'COD_USUARIO, TITULO, MENSAGEM, STATUS, LIDO_EQUIPE) '+

'VALUES (?, ?, ?, ?, ?, ''S'')',dados.CONEXAO);

BdpCom.Parameters.Clear;

BdpCom.Parameters.Add('COD_FORMATACAO',BdpType.&String);

BdpCom.Parameters.Add('COD_USUARIO',BdpType.&String);

BdpCom.Parameters.Add('TITULO',BdpType.&String);

BdpCom.Parameters.Add('MENSAGEM',BdpType.&String);

BdpCom.Parameters.Add('STATUS',BdpType.&String);

BdpCom.Parameters['COD_FORMATACAO'].Value := Session['MENS_ESPECIFICAS_FORMATACAO'].ToString;

BdpCom.Parameters['COD_USUARIO'].Value := usuario.Text;;

BdpCom.Parameters['TITULO'].Value := Request['TxtTitulo'].ToString;

BdpCom.Parameters['MENSAGEM'].Value := Request['TxtMensagem'].ToString;

BdpCom.Parameters['STATUS'].Value := 'N';

if BdpCom.ExecuteNonQuery > 0 Then

response.write('Acompanhamento de formatação cadastrado com sucesso!!');

Eu uso apenas um BDPConnection na global e depois referencio ele em todas as outras páginas, criando todos os outros componentes em tempo de execução...

Denis... valeu pela sugestão.... porém ainda não testei... vou fazer isso agora... depois dou o retorno do resultado que obti...

Abraço a todos...

Att

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Tarde Denis....

Testei aqui o código que você me passou... mas infelizmente não funcionou...

Ele continua dando o mesmo erro...

Veja acima como estou procedendo para fazer um insert no meu banco de dados...

Será que é porque crio o componente em tempo de execução...?

Se alguém puder me ajudar... agradeço....

Att

Link para o comentário
Compartilhar em outros sites

  • 0
Será que é porque crio o componente em tempo de execução...?

Creio que não.

Faz o seguinte: posta a descrição do erro que está acontecendo, o erro que o servidor volta como falha do processamento da página.

Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom Dia Denis...

Dá o seguinte erro ná página... tentei salvar um texto com a seguinte Tag:

<font color="red">Texto em Vermelho</font>

Veja o que o Framework retornou:

Server Error in '/formatar' Application.

--------------------------------------------------------------------------------

A potentially dangerous Request.Form value was detected from the client (TxtNovaMensagem="<font color="red">Te...").

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 (TxtNovaMensagem="<font color="red">Te...").

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (TxtNovaMensagem="<font color="red">Te...").]

System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +240

System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +99

System.Web.HttpRequest.get_Form() +121

System.Web.UI.Page.GetCollectionBasedOnMethod() +70

System.Web.UI.Page.DeterminePostBackMode() +128

System.Web.UI.Page.ProcessRequestMain() +2112

System.Web.UI.Page.ProcessRequest() +217

System.Web.UI.Page.ProcessRequest(HttpContext context) +18

System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() +179

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +87

--------------------------------------------------------------------------------

Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032

--------------------------------------------------------------------------------

Alguma idéia do porque de estar acontecendo este erro???

Desde já agradeço pela sua ajuda...

Abraços...

Att

Link para o comentário
Compartilhar em outros sites

  • 0

Que estranho??? Foi como eu falei: por questões de segurança, o ASP.net bloqueia a manipulação de dados (string) que contenham TAG's HTML.

Se você ler a mensagem de erro, notará que a mesma fala sobre o atributo 'ValidateRequest'.

Bom, tente, mais uma vez:

<% @Page Language="SUA LINGUAGEM" ValidateRequest="false" %>

No caso, "sua linguagem" é a linguagem que você está trabalhando. Se de tudo não der certo, tente verificar desabilitar essa permissão no arquivo 'Web.config' na raiz do seu servidor, isso é, se existir e tiver com a configuração de validação de TAG's HTML.

Falows! Poste os resultados!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom Dia Denis...

Cara... valeu por me ajudar.... mas ainda não deu certo... tentei de novo colocar aquele código.. mas ele retorna o seguinte erro na página:

Server Error in '/formatar' Application.

--------------------------------------------------------------------------------

Parser Error

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: There can be only one 'page' directive.

Source Error:

Line 1: <%@ Page Language="c#" Debug="true" Codebehind="principal.pas" AutoEventWireup="false" Inherits="principal.TWebForm1"%>

Line 2: <%@ Register tagprefix="cc1" Namespace="ControleMessageBox" Assembly="ControleMessageBox"%>

Line 3: <%@ Page Language="c#" ValidateRequest="false"%>

Line 4: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Line 5:

Dei uma olhada lá no web.config... creio eu que não tenha nenhum chave que controle a segurança dos códigos html... no caso se eu quisesse colocar... como seria essa chave... o que coloco na web.config...??

Agardeço pela sua ajuda...

Abraços....

Link para o comentário
Compartilhar em outros sites

  • 0

Mas aí realmente dá erro. Você está colocando em seu arquivo duas diretivas '@Page', e só deve existir uma em cada página. O correto:

Line 1: <%@ Page Language="c#" Debug="true" ValidateRequest="false" Codebehind="principal.pas" AutoEventWireup="false" Inherits="principal.TWebForm1"%>
Line 2: <%@ Register tagprefix="cc1" Namespace="ControleMessageBox" Assembly="ControleMessageBox"%>
Line 3: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Line 4: 

Falows! Qualquer coisa, post!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Denis...

Claro.... nem me dei conta de que eu estava duplicando as informações... agora funcionou... era isso mesmo que precisava... agora ele aceita tags html no meu código....

Deixa eu só te pedir mais uma coisa... não sei se é possivel de fazer.. mas, se eu quisesse que apenas em um campo de texto ele aceite tags html e regeite nos outros... teria como fazer isso...? Só por curiosidade...

Cara... muito obrigado pela sua força.... valeu mesmo...

Att

Link para o comentário
Compartilhar em outros sites

  • 0
Deixa eu só te pedir mais uma coisa... não sei se é possivel de fazer.. mas, se eu quisesse que apenas em um campo de texto ele aceite tags html e regeite nos outros... teria como fazer isso...? Só por curiosidade...

Não, não seria possível, até onde eu saiba.

Falows!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...