Base de Conhecimento

Considerações a ter em conta para aumentar a segurança do seu formulário web

Como funciona essa modalidade?


Para explicar, vamos nos basear em um exemplo simples, suponha que nosso formulário possua um campo para o visitante inserir o email da seguinte forma:

input name="email" value="Enter" your="" email="" here="" type="text"

Então, o endereço informado neste campo é enviado ao servidor e é levado pelo script PHP para ser utilizado como FROM na função mail() e desta forma a mensagem que chegar ao nosso e-mail terá como remetente o endereço informado pelo Visitante.

Agora, a função mail() do PHP: mail(recipient, subject, message, extra headers); Ele simplesmente concatena os parâmetros que são passados ​​para ele, portanto se inserirmos o seguinte no campo email do formulário:

[email protected]%0ACc:[email protected]%0ABcc:[email protected],

[email protected]

onde o primeiro endereço será De: (endereço de origem que chegará às vítimas do spam), %0A é o valor hexadecimal do caractere de alimentação de linha, Cc: (Cópia) contém o endereço ou endereços das vítimas e Cco: (Cego Copy) também contém endereços de vítimas de spam.

Parte do cabeçalho do e-mail gerado pelo nosso formulário abusado será:

Para: destinatá[email protected]
Assunto: Assunto da mensagem
De: [email protected]
Cc: [email protected]
Cco: [email protected], [email protected]

Com isso, o spammer terá utilizado nosso site para enviar correspondências em massa através de nosso formulário.

O exemplo visto é o caso mais básico desta modalidade, pois através da injeção de cabeçalhos você pode até modificar o assunto e até a própria mensagem, a ponto de poder enviar mensagens com conteúdo html.


Que consequências tem esta modalidade?


Primeiro, nosso formulário está sendo utilizado para realizar uma atividade da qual a grande maioria de nós discorda.

A largura de banda disponível para o servidor também está sendo utilizada, afetando os demais sites nele hospedados, portanto o site em questão ficará suspenso até que o problema seja resolvido.

Por último, em caso de denúncia de spam, a referida conta deverá ser suspensa de acordo com as disposições legais do nosso site. É responsabilidade de cada usuário utilizar código suficientemente seguro em seu site e corrigi-lo se necessário.


Como evitar o uso do nosso formulário?


Primeiramente, vale esclarecer que a modalidade exemplificada ocorre apenas em formulários que utilizam a função mail() do PHP para processar e enviar os dados inseridos pelo visitante. É sempre recomendado utilizar a classe phpmailer, o que evita em grande parte esses problemas.

Caso você utilize um script PHP que não seja seu, como formail.php, atualize-o com a versão mais recente, verificando se ele oferece solução para este tipo de atividade.

Se você usa um script PHP de sua propriedade ou tem conhecimento para editá-lo, aqui incorporamos uma função que você pode usar para validar os dados inseridos de forma eficiente

função ValidarDados(){
// Array com os possíveis cabeçalhos a serem usados ​​por um spammer
= array(Tipo de conteúdo:,
Versão MIME:,
Codificação de transferência de conteúdo:,
Caminho de retorno:,
Assunto:,
Desde:,
Envelope para:,
Para:,
Cco:,
DC:);

// Verificamos se os dados não incluem nenhum dos
// as strings do array. Se alguma string for encontrada
//direciona para uma página Proibida
foreach (como) {
if (strpos (strtolower (), strtolower () ) !== falso) {
cabeçalho (HTTP/1.0 403 Proibido);
saída;
}
}
}

//Exemplo de chamadas de função
ValidateData(['e-mail']);
ValidateData(['assunto']);
ValidateData(['mensagem']);
?>

Esta função é básica e pode ser modificada de acordo com o script que você utiliza para processar o formulário e até incorporar controle de erros. Não se esqueça de incluir campos de formulário ocultos se esses dados forem passados ​​​​pela função mail().

Sugerimos também que para aumentar a segurança dos seus formulários para que não sejam levados por terceiros, você pode utilizar um captcha para isso.

  • 0 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Atualização do PrestaShop

Atualizar PrestaShop Para atualizar o Prestashop para a nova versão, serão realizados os...

Vírus na web. Ajuda!!! O que são e como podemos eliminá-los?

Ultimamente, os casos de sites infectados por vírus ou códigos maliciosos, sem que o webmaster...

Como posso gerenciar o domínio?

Para tudo relacionado à administração do seu domínio, você deverá utilizar o painel de controle...

O que é um subdomínio?

Subdomínios são extensões que podemos usar com nosso domínio, por exemplo, suponha que nosso...

Como publicar meu site?

Para enviar o conteúdo do seu site para o servidor você pode usar qualquer cliente FTP como...