Necesito agregar seguridad al siguiente formulario.
Mi intención es evitar que se pueda ingresar directamente al código php sin pasar por el html.
Le he agregado un campo oculto a modo de password pero no lo veo del todo seguro, no he podido con $PHP_SELF para restringior el acceso.
También me gustaría poder validar selectivamente, por ejemplo, evitar que en el campo e-mail aparezca una coma o un punto y coma, todo del lado servidor.
Todo ello para evitar el uso malintencionado de la función mail.
Desde ya agradecido
página inicial en html Código PHP:
<html>
<body>
<form method="POST" action="2.php">
<input name="nombre"><p>
<input name="email"></p>
<textarea name="comentarios"></textarea></p>
<input type="submit" value="Enviar" name="submit">
<input type="hidden" name="validar" value="codigo">
</form>
</body>
</html>
página PHP de proceso y envío Código PHP:
<?
if ($validar != "codigo")
{
echo "no autorizado";
exit();
}
?>
<? echo $nombre; ?><p>
<? echo $email; ?><p>
<? echo $comentarios; ?><p>
<?
// Enviar por e-mail
$contenido .= "Nombre: " . $nombre . "\n";
$contenido .= "E-Mail: " . $email . "\n";
$contenido .= "Comentarios: " . $comentarios . "\n";
$headers .= "From: Mi Nombre <[email protected]>\r\n";
$headers .= "Bcc: [email protected]\r\n";
mail ("[email protected]", "Asunto", $contenido, $headers);
?>