Minha programação utiliza ASP. Como posso proteger meus formulários de e-mail para evitar que eles sejam utilizados por terceiros?
Existem uma série de ocorrências de uso de formulários de contato para envio de e-mails ilegitimos.
Em função disso, recomendamos a você que, ao utilizar um formulário no site, implemente algumas verificações para protegê-lo.
Normalmente, estes terceiros se utilizam de vulnerabilidades em determinados códigos ASP para envio de e-mails em lote, o que gera fila e prejudica o funcionamento do servidor.
A validação no formulário pode ser implementada de diversas formas, entre elas listamos:
1 - Validação da origem do formulário:
O script abaixo valida a origem do formulário, e quando ele é postado de uma URL diferente da sua o processamento é barrado.
<%
if (instr(Request.ServerVariables("HTTP_REFERER"),Request.ServerVariables("HTTP_HOST")) = 0 ) then
response.write("<b>Você não está autorizado a utilizar este formulário</b>")
response.end()
end if
%>
2 - Validação do conteúdo enviado pelo formulário:
O script abaixo valida o conteúdo dos dados preenchidos comparando-os com palavras pré-definidas e, caso alguma delas seja detectada o processamento é encerrado imediatamente:
<%
arrProibido = array("cc","subject","bcc","Content-Type","Content-Transfer-Encoding")
strVariaveis = request.form & "," & request.querystring
for i=0 to ubound(arrProibido)
if (instr(lcase(strVariaveis),lcase(arrProibido(i))) <> 0 ) then
response.write("<b>Palavra chave ilegitima detectada. Processamento foi parado </b>")
response.end()
end if
next
%>