[RESOLVIDO] Inpedir injeção de HTML via Javascript: como?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
antonioni.rocha
JavaGuru
[Avatar]

Membro desde: 07/05/2006 17:09:05
Mensagens: 246
Offline

Tenho um formulário web onde uma tabela é manipulada dinamicamente via Javascript, onde uma função minha chamada addRow(valor) é usada. Nesta função é solicitado o valor que irá preencher a nova linha da tabela via window.prompt('Digite o valor:', '') e inserida na nova linha via innerHTML.

Porém se o usuário inserir algum código HTML, este será construído na tabela (digitar "<input>" no prompt não gerará o texto '<input>', e sim um componente de texto na linha da tabela).

Como impedir isso, deixanto literalmente tudo que é informado, de preferência com Javascript puro?

This message was edited 1 time. Last update was at 05/12/2010 21:05:17

Andre Rosa
GUJ Master
[Avatar]

Membro desde: 22/01/2010 07:10:22
Mensagens: 1297
Offline

Você quer bloquear a entrada de tags HTML no formulário, ou quer tratar essas entradas ?

Um programador pobre.
[ICQ]
Adriano Almeida
JavaEvangelist
[Avatar]

Membro desde: 13/09/2006 15:29:34
Mensagens: 386
Offline

Oi Antonioni,

o que resolve é trocar o > por & lt; (sem esse espaco no meio) e o > por & gt; (sem esse espaco no meio). O JQuery se nao me engano faz isso qdo vc vai no elemento e seta o atribute text dele.

algo do tipo:


Se vc nao tiver usando o jquery, pode tentar fazer esse replace na mao. Lembre-se de que tudo isso é Javascript, e que ainda assim essa funcionalidade pode ser desabilitada pelo usuario.

[]s

This message was edited 2 times. Last update was at 23/12/2010 19:49:41


Twitter: @adrianoalmeida7
http://ahalmeida.com
http://blog.caelum.com.br

araujo921
Thread.start()
[Avatar]

Membro desde: 24/02/2008 00:37:09
Mensagens: 42
Offline

Olá,

por que em vez de usar innerHTML você não usa innerText ?

OBS: No caso do firefox usa textContent em vez de innerText.



This message was edited 1 time. Last update was at 05/12/2010 14:24:30


Abraço.
--

O PLANETA É O MEU PAÍS, E A CIÊNCIA É A MINHA RELIGIÃO ! INDO AO INFINITO E ALÉM... !!!!!!



GWT BRASIL GROUP
antonioni.rocha
JavaGuru
[Avatar]

Membro desde: 07/05/2006 17:09:05
Mensagens: 246
Offline

Obrigado pela ajuda, gente, as dicas funcionaram beleza.
Abraços.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team