
Garantia Que Submit Esta Vindo De Uma Certa Pagina.
Started By Fabio1, 20/09/2006, 12:47
4 replies to this topic
#1
Posted 20/09/2006, 12:47
Desculpe, nao consegui dar um titulo melhor para esse topico.
Montei um sistema de cadastro de usuarios, com o site no ar, sempre aparece alguns 'idiotas' para tentar furar alguma protecao que fez.
No form mesmo eu limitei em 10 caracteres em um certo campo e sempre nao tive problema. Mas esses dias apareceu um usuario com mais de 10 caracteres. Depois descubri que essa pessoa copiou o codigo fonte para o proprio computador e modificou esse campo e colocou a url completo do script na action do form e fez o cadastro tranquilamente.
Nesse caso montei uma function para contar os caracteres e resolveu o meu problema, tentei por javascript mas da para fazer a mesma coisa.
Usando esse modo da para fazer muita coisa e nao da para deixar mandar certas informacoes via hiden...
Nesse caso toda vez que preciso mandar alguma informacao importante, faco a verificacao no php. Mas eh trabalhoso e estava procurando um jeito melhor para fazer essa verificacao.
Tentei usando session, mas testando consegui me cadastrar com o form do meu computador.
Tem como garantir que o form esta vindo de uma pagina especifica? Ou que esta vindo a informacao de tal url? Pois jah vi varios scripts de estatisticas ja funcionando que pega a ultima url antes de chegar na sua pagina. Como posso fazer isso?
Alguem pederia me ajudar?
Grato.
Montei um sistema de cadastro de usuarios, com o site no ar, sempre aparece alguns 'idiotas' para tentar furar alguma protecao que fez.
No form mesmo eu limitei em 10 caracteres em um certo campo e sempre nao tive problema. Mas esses dias apareceu um usuario com mais de 10 caracteres. Depois descubri que essa pessoa copiou o codigo fonte para o proprio computador e modificou esse campo e colocou a url completo do script na action do form e fez o cadastro tranquilamente.
Nesse caso montei uma function para contar os caracteres e resolveu o meu problema, tentei por javascript mas da para fazer a mesma coisa.
Usando esse modo da para fazer muita coisa e nao da para deixar mandar certas informacoes via hiden...
Nesse caso toda vez que preciso mandar alguma informacao importante, faco a verificacao no php. Mas eh trabalhoso e estava procurando um jeito melhor para fazer essa verificacao.
Tentei usando session, mas testando consegui me cadastrar com o form do meu computador.
Tem como garantir que o form esta vindo de uma pagina especifica? Ou que esta vindo a informacao de tal url? Pois jah vi varios scripts de estatisticas ja funcionando que pega a ultima url antes de chegar na sua pagina. Como posso fazer isso?
Alguem pederia me ajudar?
Grato.
#2
Posted 20/09/2006, 12:58
porque você não valida este CAMPO com ER ( Expressão Regular )
ereg("^[a-z0-9]{0,10}$",$campo)
assim, só será permitido 10 caracteres
mesmo que o "idiota" copie o código fonte não irá conseguir cadastrar um nome acima de 10 caracteres...
faça essa verificação antes de INSERIR no banco de dados
Leitura:
PHP
http://br.php.net/ma...uctures.for.php
ER
http://guia-er.sourc...et/guia-er.html
T+
ereg("^[a-z0-9]{0,10}$",$campo)
assim, só será permitido 10 caracteres

mesmo que o "idiota" copie o código fonte não irá conseguir cadastrar um nome acima de 10 caracteres...
faça essa verificação antes de INSERIR no banco de dados
Leitura:
PHP
http://br.php.net/ma...uctures.for.php
ER
http://guia-er.sourc...et/guia-er.html
T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951
PALMEIRAS - Primeiro campeão do mundo em 1951
#3
Posted 20/09/2006, 15:31
Ter até tem... mas mesmo assim, tal pseudo-proteção pode ser facilmente quebrada. O certo mesmo é protejer o sistema, não fugir da proteção. Quando se diz protejer, é validar e tratar qualquer informação que possa estar sendo enviada de uma página para outra, tanto no cliente como no servidor. É trabalhoso? É! Se tudo fosse fácil, nada seria divertido...Tem como garantir que o form esta vindo de uma pagina especifica? Ou que esta vindo a informacao de tal url? Pois jah vi varios scripts de estatisticas ja funcionando que pega a ultima url antes de chegar na sua pagina. Como posso fazer isso?

Leitura recomendada: XSS (Cross-site scripting)

[]’s

#4
Posted 21/09/2006, 08:57
Dá uma olhada neste artigo, vai resolver sua situação:
http://www.phpbrasil...cle.php/id/1097
Depois crie uma função, assim ficará fácil de implementar.
http://www.phpbrasil...cle.php/id/1097
Depois crie uma função, assim ficará fácil de implementar.
Éder Frances Oliveira
EIA - Empreendimentos Informática e Administração
Twitter: twitter.com/eder_frances
EIA - Empreendimentos Informática e Administração
Twitter: twitter.com/eder_frances
#5
Posted 21/09/2006, 09:10
Muito bom este artigo e qcho que é o que vc precisa.
Em relação ao XSS comentado pelo Paulo, term também este artigo em português para a galera que assim como eu não manja muito de inglês.
http://phpbrasil.com...icle.php/id/506
Em relação ao XSS comentado pelo Paulo, term também este artigo em português para a galera que assim como eu não manja muito de inglês.
http://phpbrasil.com...icle.php/id/506

Edição feita por: aimola, 21/09/2006, 09:16.
Que os passos de hoje sejam maiores que os de ontem
e que os passos de amanhã sejam mais largos que os de hoje.
e que os passos de amanhã sejam mais largos que os de hoje.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)