Les comento soy nuevo en esto, tal vez para ustedes sea muy fácil por eso les estoy solicitando su ayuda.
Hice un formulario el cual envía todo lo capturado a mi base de datos, funciona perfectamente, envía los datos, los almacena y me envía copia a mi email, pero el problema es que no tiene la seguridad suficiente para ya poder montarlo, lo que busco es validar los datos de mi formulario y evitar que se introduzca código php y html en los campos para evitar una inyección a mi base de datos.
Les dejo mis códigos para ver si me pueden ayudar.
Formulario (enviar.php)
Citar
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body {
background-image: url(imagenes/fondo.gif);
}
</style>
<HEAD>
<SCRIPT LANGUAGE="javascript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=435,height=300');");
}
// End -->
</script>
</head>
<body>
<table width="701" border="0" align="center">
<tr>
<td height="856"><table width="701" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="imagenes/header.jpg" width="700" height="104" /></td>
</tr>
<tr>
<td width="12" height="678" class="tablaizquierda">...</td>
<td width="677" align="center" valign="top" class="fondonegro"><table width="674" border="1">
<tr>
<td>Registra tu Banda o tu pgrupo es muy sencillo, lo haces en tan solo 1 minuto, y lo mejor de todo es completamente gratuito, Llega a mas gente con la tecnologia de mundobajo.net</td>
</tr>
</table> <table width="674" border="1">
<tr>
<td height="605"><form id="form1" name="form1" method="post" action="envia.php">
<table width="662" border="1">
<tr>
<td> </td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="138" height="26" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">*</span></strong> Nombre del Grupo:</td>
<td width="235"><label for="grupo"></label>
<input name="grupo" type="text" id="grupo" size="38" /></td>
<td width="119" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Genero Musical:</td>
<td width="142"><label for="genero"></label>
<select name="genero" id="genero">
<option value="2 Tone">2 Tone</option>
<option value="Anarko Punk">Anarko Punk</option>
<option value="Calipso">Calipso</option>
<option value="Dancehall">Dancehall</option>
<option value="Dub">Dud</option>
<option value="Early Reggae">Early Reggae</option>
<option value="Hip Hop">Hip Hop</option>
<option value="Mento">Mento</option>
<option value="Mex Ska">Mex Ska</option>
<option value="Oi">Oi</option>
<option value="Punk">Punk</option>
<option value="Ragga">Ragga</option>
<option value="Rap">Rap</option>
<option value="Rap Chicano">Rap Chicano</option>
<option value="Rap Gangsta">Rap Gangsta</option>
<option value="Rap Subterraneo">Rap Subterraneo</option>
<option value="Rap Underground">Rap Underground</option>
<option value="Reggae ">Reggae</option>
<option value="Reggae Roots">Reggae Roots</option>
<option value="Rhythm And Blues">Rhythm And Blues</option>
<option value="Rock And Roll">Rock And Roll</option>
<option value="Rock Mod">Rock Mod</option>
<option value="Rocksteady">Rocksteady</option>
<option value="Ska Californiano">Ska Californiano</option>
<option value="Ska Core">Ska Core</option>
<option value="Ska Fusion">Ska Fusion</option>
<option value="Ska Hispano">Ska Hispano</option>
<option value="Ska Jazz">Ska Jazz</option>
<option value="Ska Reggae">Ska Reggae</option>
<option value="Ska Tradicional">Ska Tradicional</option>
<option value="Ska Yeye">Ska Yeye</option>
<option value="Skinhead Reggae">Skinhead Reggae</option>
<option value="Soul">Soul</option>
<option value="Street Punk">Street Punk</option>
<option value="Third Wave">Third Wave</option>
<option value="Jazz">Jazz</option>
</select></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="311" height="29" align="left" valign="middle"><span class="txtgenero">* Urrl del Logo o foto del grupo:</span><br />
<span class="txtblancomini"><A HREF="javascript:popUp('http://mundobajo.net/bandas/imagenes/form.html')" class="txtblancomini">- Da click aqui </A><a href="javascript:popUp('http://mundobajo.net/bandas/imagenes/form.html')" class="txtblancomini">para subir la imagen</a></span></td>
<td width="335"><label for="soundcloud2"></label>
<input name="soundcloud2" type="text" id="soundcloud2" size="56" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="359" height="55" align="left" valign="middle"><strong><span class="asteriscorojo">*</span></strong><span class="txtgenero">Integrantes del grupo:</span><br />
<span class="txtblancomini">1por linea, ejemplo:<br />
Juan perez (Bateria)<br />
Rodrigo (Trompeta)</span></td>
<td width="287"><label for="integrantes"></label>
<textarea name="integrantes" id="integrantes" cols="45" rows="5"></textarea></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="359" align="left" valign="middle"><strong><span class="asteriscorojo">* </span></strong><span class="txtgenero">Principales influencias del grupo: </span></td>
<td width="287"><label for="influencia"></label>
<textarea name="influencia" id="influencia" cols="45" rows="5"></textarea></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="359" align="left" valign="middle"><strong><span class="asteriscorojo">* </span></strong><span class="txtgenero">Historia y trascendencia:</span></td>
<td width="287"><label for="historia"></label>
<textarea name="historia" id="historia" cols="45" rows="5"></textarea></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td align="left" valign="middle" class="txtfoter"><strong>Para registrar un video de youtube has lo siguiente, abre tu video, una vez abierto dirigete a la barra de direcciones <img src="imagenes/youtube.jpg" width="234" height="16" /> y copia el codigo que se muestra despues de<span class="asteriscorojo"> = </span>por ejemplo: mi video es http://www.youtube.com/watch?v=<span class="txtgenero">sebwdVmGWjc</span> Ó http://youtu.be/<span class="txtgenero">sebwdVmGWjc </span>, unicamente colocare lo marcado en blanco<br />
</strong></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="65" height="26" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Video Youtube 1:</td>
<td width="138"><label for="video1"></label>
<input name="video1" type="text" id="video1" size="22" /></td>
<td width="68" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Video Youtube 2:</td>
<td width="139"><label for="video2"></label>
<input name="video2" type="text" id="video2" size="22" /></td>
<td width="80" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Video youtube3:</td>
<td width="132"><label for="soundcloud1"></label>
<input name="soundcloud1" type="text" id="soundcloud1" size="22" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td> </td>
</tr>
</table>
<table width="662" border="0">
<tr>
<td width="163" class="txtgenero"><strong class="asteriscorojo">*</strong> Nombre del representante:</td>
<td width="215"><label for="representante"></label>
<input name="representante" type="text" id="representante" size="34" /></td>
<td width="56" class="txtgenero"><strong class="asteriscorojo">*</strong> Correo:</td>
<td width="210"><label for="email"></label>
<input name="email" type="text" id="email" size="33" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="62" align="left" valign="middle" class="txtgenero">Facebook:</td>
<td width="256"><label for="facebook"></label>
<input name="facebook" type="text" id="facebook" size="42" /></td>
<td width="48" align="left" valign="middle" class="txtgenero">Twitter:</td>
<td width="268"><label for="twitter"></label>
<input name="twitter" type="text" id="twitter" size="38" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="72" align="left" valign="middle" class="txtgenero">Pagina web:</td>
<td width="180"><label for="url"></label>
<input name="url" type="text" id="url" size="30" /></td>
<td width="196" align="left" valign="middle" class="txtgenero">Url Para descargar disco o demo:</td>
<td width="186"><label for="descarga"></label>
<input name="descarga" type="text" id="descarga" size="31" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td height="18" align="center" valign="middle" class="txtblancomini"><a href="http://mundobajo.net/tyc.php" target="_blank" class="txtblancomini">Terminos y condiciones de Mundobajo.net<br />
Al precionar el boton de registrar banda estas aceptando nuestros terminos y condiciones.</a><a href="http://mundobajo.net/tyc.php" target="_blank" class="txtgenero"><br />
</a></td>
</tr>
</table>
<table width="300" border="1" align="center">
<tr>
<td align="center" valign="middle"><input type="submit" name="button" id="button" value="Registrar banda" /></td>
</tr>
</table>
</form></td>
</tr>
</table>
<p><br />
</p></td>
<td width="12" class="tabladerecha">...</td>
</tr>
<tr>
<td height="90" colspan="3" align="center" valign="top" class="fondofoter"><table width="700" border="0" align="center">
<tr>
<td width="87"><img src="imagenes/mbn.png" width="86" height="35" /></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body {
background-image: url(imagenes/fondo.gif);
}
</style>
<HEAD>
<SCRIPT LANGUAGE="javascript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=435,height=300');");
}
// End -->
</script>
</head>
<body>
<table width="701" border="0" align="center">
<tr>
<td height="856"><table width="701" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="imagenes/header.jpg" width="700" height="104" /></td>
</tr>
<tr>
<td width="12" height="678" class="tablaizquierda">...</td>
<td width="677" align="center" valign="top" class="fondonegro"><table width="674" border="1">
<tr>
<td>Registra tu Banda o tu pgrupo es muy sencillo, lo haces en tan solo 1 minuto, y lo mejor de todo es completamente gratuito, Llega a mas gente con la tecnologia de mundobajo.net</td>
</tr>
</table> <table width="674" border="1">
<tr>
<td height="605"><form id="form1" name="form1" method="post" action="envia.php">
<table width="662" border="1">
<tr>
<td> </td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="138" height="26" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">*</span></strong> Nombre del Grupo:</td>
<td width="235"><label for="grupo"></label>
<input name="grupo" type="text" id="grupo" size="38" /></td>
<td width="119" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Genero Musical:</td>
<td width="142"><label for="genero"></label>
<select name="genero" id="genero">
<option value="2 Tone">2 Tone</option>
<option value="Anarko Punk">Anarko Punk</option>
<option value="Calipso">Calipso</option>
<option value="Dancehall">Dancehall</option>
<option value="Dub">Dud</option>
<option value="Early Reggae">Early Reggae</option>
<option value="Hip Hop">Hip Hop</option>
<option value="Mento">Mento</option>
<option value="Mex Ska">Mex Ska</option>
<option value="Oi">Oi</option>
<option value="Punk">Punk</option>
<option value="Ragga">Ragga</option>
<option value="Rap">Rap</option>
<option value="Rap Chicano">Rap Chicano</option>
<option value="Rap Gangsta">Rap Gangsta</option>
<option value="Rap Subterraneo">Rap Subterraneo</option>
<option value="Rap Underground">Rap Underground</option>
<option value="Reggae ">Reggae</option>
<option value="Reggae Roots">Reggae Roots</option>
<option value="Rhythm And Blues">Rhythm And Blues</option>
<option value="Rock And Roll">Rock And Roll</option>
<option value="Rock Mod">Rock Mod</option>
<option value="Rocksteady">Rocksteady</option>
<option value="Ska Californiano">Ska Californiano</option>
<option value="Ska Core">Ska Core</option>
<option value="Ska Fusion">Ska Fusion</option>
<option value="Ska Hispano">Ska Hispano</option>
<option value="Ska Jazz">Ska Jazz</option>
<option value="Ska Reggae">Ska Reggae</option>
<option value="Ska Tradicional">Ska Tradicional</option>
<option value="Ska Yeye">Ska Yeye</option>
<option value="Skinhead Reggae">Skinhead Reggae</option>
<option value="Soul">Soul</option>
<option value="Street Punk">Street Punk</option>
<option value="Third Wave">Third Wave</option>
<option value="Jazz">Jazz</option>
</select></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="311" height="29" align="left" valign="middle"><span class="txtgenero">* Urrl del Logo o foto del grupo:</span><br />
<span class="txtblancomini"><A HREF="javascript:popUp('http://mundobajo.net/bandas/imagenes/form.html')" class="txtblancomini">- Da click aqui </A><a href="javascript:popUp('http://mundobajo.net/bandas/imagenes/form.html')" class="txtblancomini">para subir la imagen</a></span></td>
<td width="335"><label for="soundcloud2"></label>
<input name="soundcloud2" type="text" id="soundcloud2" size="56" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="359" height="55" align="left" valign="middle"><strong><span class="asteriscorojo">*</span></strong><span class="txtgenero">Integrantes del grupo:</span><br />
<span class="txtblancomini">1por linea, ejemplo:<br />
Juan perez (Bateria)<br />
Rodrigo (Trompeta)</span></td>
<td width="287"><label for="integrantes"></label>
<textarea name="integrantes" id="integrantes" cols="45" rows="5"></textarea></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="359" align="left" valign="middle"><strong><span class="asteriscorojo">* </span></strong><span class="txtgenero">Principales influencias del grupo: </span></td>
<td width="287"><label for="influencia"></label>
<textarea name="influencia" id="influencia" cols="45" rows="5"></textarea></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="359" align="left" valign="middle"><strong><span class="asteriscorojo">* </span></strong><span class="txtgenero">Historia y trascendencia:</span></td>
<td width="287"><label for="historia"></label>
<textarea name="historia" id="historia" cols="45" rows="5"></textarea></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td align="left" valign="middle" class="txtfoter"><strong>Para registrar un video de youtube has lo siguiente, abre tu video, una vez abierto dirigete a la barra de direcciones <img src="imagenes/youtube.jpg" width="234" height="16" /> y copia el codigo que se muestra despues de<span class="asteriscorojo"> = </span>por ejemplo: mi video es http://www.youtube.com/watch?v=<span class="txtgenero">sebwdVmGWjc</span> Ó http://youtu.be/<span class="txtgenero">sebwdVmGWjc </span>, unicamente colocare lo marcado en blanco<br />
</strong></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="65" height="26" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Video Youtube 1:</td>
<td width="138"><label for="video1"></label>
<input name="video1" type="text" id="video1" size="22" /></td>
<td width="68" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Video Youtube 2:</td>
<td width="139"><label for="video2"></label>
<input name="video2" type="text" id="video2" size="22" /></td>
<td width="80" align="left" valign="middle" class="txtgenero"><strong><span class="asteriscorojo">* </span></strong>Video youtube3:</td>
<td width="132"><label for="soundcloud1"></label>
<input name="soundcloud1" type="text" id="soundcloud1" size="22" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td> </td>
</tr>
</table>
<table width="662" border="0">
<tr>
<td width="163" class="txtgenero"><strong class="asteriscorojo">*</strong> Nombre del representante:</td>
<td width="215"><label for="representante"></label>
<input name="representante" type="text" id="representante" size="34" /></td>
<td width="56" class="txtgenero"><strong class="asteriscorojo">*</strong> Correo:</td>
<td width="210"><label for="email"></label>
<input name="email" type="text" id="email" size="33" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="62" align="left" valign="middle" class="txtgenero">Facebook:</td>
<td width="256"><label for="facebook"></label>
<input name="facebook" type="text" id="facebook" size="42" /></td>
<td width="48" align="left" valign="middle" class="txtgenero">Twitter:</td>
<td width="268"><label for="twitter"></label>
<input name="twitter" type="text" id="twitter" size="38" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td width="72" align="left" valign="middle" class="txtgenero">Pagina web:</td>
<td width="180"><label for="url"></label>
<input name="url" type="text" id="url" size="30" /></td>
<td width="196" align="left" valign="middle" class="txtgenero">Url Para descargar disco o demo:</td>
<td width="186"><label for="descarga"></label>
<input name="descarga" type="text" id="descarga" size="31" /></td>
</tr>
</table>
<table width="662" border="1">
<tr>
<td height="18" align="center" valign="middle" class="txtblancomini"><a href="http://mundobajo.net/tyc.php" target="_blank" class="txtblancomini">Terminos y condiciones de Mundobajo.net<br />
Al precionar el boton de registrar banda estas aceptando nuestros terminos y condiciones.</a><a href="http://mundobajo.net/tyc.php" target="_blank" class="txtgenero"><br />
</a></td>
</tr>
</table>
<table width="300" border="1" align="center">
<tr>
<td align="center" valign="middle"><input type="submit" name="button" id="button" value="Registrar banda" /></td>
</tr>
</table>
</form></td>
</tr>
</table>
<p><br />
</p></td>
<td width="12" class="tabladerecha">...</td>
</tr>
<tr>
<td height="90" colspan="3" align="center" valign="top" class="fondofoter"><table width="700" border="0" align="center">
<tr>
<td width="87"><img src="imagenes/mbn.png" width="86" height="35" /></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
envia.php
Citar
<?php
$grupo = $_REQUEST['grupo'] ;
$genero = $_REQUEST['genero'] ;
$representante = $_REQUEST['representante'] ;
$email = $_REQUEST['email'] ;
$url = $_REQUEST['url'] ;
$facebook = $_REQUEST['facebook'] ;
$twitter = $_REQUEST['twitter'] ;
$incluencia = $_REQUEST['influencia'] ;
$historia = $_REQUEST['historia'] ;
$integrantes = $_REQUEST['integrantes'] ;
$video1 = $_REQUEST['video1'] ;
$video2 = $_REQUEST['video2'] ;
$soundcloud1 = $_REQUEST['soundcloud1'] ;
$soundcloud2 = $_REQUEST['soundcloud2'] ;
$confirmacion = "Estos son los datos que has introducido. Muchas gracias por tu participación:<br /><br />Nombre: $grupo <br />Genero: $genero";
mysql_connect ('localhost', 'root', 'pass') or die ('Error: ' . mysql_error());
mysql_select_db ('grupos');
$query="INSERT INTO grupos (grupo, genero, representante, email, url, facebook, twitter, influencia, historia, integrantes, video1, video2, soundcloud1, soundcloud2) VALUES ('$grupo', '$genero', '$representante', '$email', '$url', '$facebook', '$twitter', '$influencias', '$historia', '$integrantes', '$video1', '$video2', '$soundcloud1', '$soundcloud2')";
mysql_query($query) or die ('Error en la carga de datos');
mail($email, "Asunto del mensaje", $confirmacion, "From: mimail@pagina.net");
header("location:http://mundobajo.net/enviado.php")
?>
$grupo = $_REQUEST['grupo'] ;
$genero = $_REQUEST['genero'] ;
$representante = $_REQUEST['representante'] ;
$email = $_REQUEST['email'] ;
$url = $_REQUEST['url'] ;
$facebook = $_REQUEST['facebook'] ;
$twitter = $_REQUEST['twitter'] ;
$incluencia = $_REQUEST['influencia'] ;
$historia = $_REQUEST['historia'] ;
$integrantes = $_REQUEST['integrantes'] ;
$video1 = $_REQUEST['video1'] ;
$video2 = $_REQUEST['video2'] ;
$soundcloud1 = $_REQUEST['soundcloud1'] ;
$soundcloud2 = $_REQUEST['soundcloud2'] ;
$confirmacion = "Estos son los datos que has introducido. Muchas gracias por tu participación:<br /><br />Nombre: $grupo <br />Genero: $genero";
mysql_connect ('localhost', 'root', 'pass') or die ('Error: ' . mysql_error());
mysql_select_db ('grupos');
$query="INSERT INTO grupos (grupo, genero, representante, email, url, facebook, twitter, influencia, historia, integrantes, video1, video2, soundcloud1, soundcloud2) VALUES ('$grupo', '$genero', '$representante', '$email', '$url', '$facebook', '$twitter', '$influencias', '$historia', '$integrantes', '$video1', '$video2', '$soundcloud1', '$soundcloud2')";
mysql_query($query) or die ('Error en la carga de datos');
mail($email, "Asunto del mensaje", $confirmacion, "From: mimail@pagina.net");
header("location:http://mundobajo.net/enviado.php")
?>
Espero me puedan ayudar, Gracias
