então chamamos este script no formulario assim, o formulario ficando desta forma:
<form method="POST" action="pagina.asp">
<input type="text" name="login">
<input type="password" name="senha">
<input type="button" onclick="verifica('form');" value="enviar">
</form>
Pronto, se o cara clicar no campo enviar, e num tiver escrito nada nos campos, será avisado atraves de um alert na pagina...
agora vou dizer por que ele é meio inutil quando falamos de hacker.... mas mesmo assim acho bom que seja feito...
supomos que o hacker entrou no seu site, e tentou entrar no seu login e senha como vazio e deu este alert na pagina... ele vai clicar com o botão direito na sua pagina, vai copiar o codigo da sua pagina, e vai rodar no micro dele o codigo assim..
<form method="POST" action="http://www.seusite.c...br/pagina.asp">
<input type="text" name="login">
<input type="password" name="senha">
<input type="submit" value="enviar">
</form>
pronto, ele tirou o javascript que via se o campo estava vazia e rodou no micro dele, podendo fazer o login sem digitar usuario e senha.. que perigo né... heheh
Eu uso o código abaixo no meu site justamente para evitar esse tipo de coisa. E em 30 dias eu já obtive 3 ocorrências no meu log de erros. 3 caras alteraram a página de cadastro. De que forma que alteraram, e o que alteraram eu não posso saber, mas sei que foi essa a página.
$hosts = "site.com|www.site.com"; if (($ENV{'HTTP_HOST'} !~ /^($hosts)$/i && $ENV{'REQUEST_METHOD'} eq "POST") || ($ENV{'HTTP_REFERER'} !~ /^http\:\/\/($hosts)/i && $ENV{'REQUEST_METHOD'} eq "POST")) { print "Você está tentando enviar dados exteriores. Te f*d* ae!"; }
PS: Me desculpem se alguém já tiver mencionado essa solução. Mas o tópico está imensamente grande, e eu só tive oportunidade de ler a página 1 e o final da terceira. São 06:01 AM e eu passei as últimas 4 horas lendo posts do fórum. =__=