Foros del Web » Programando para Internet » PHP »

SOS SQL inyection

Estas en el tema de SOS SQL inyection en el foro de PHP en Foros del Web. Holas otra vez, me urge arreglar una gran vulnerabilidad en mi pagina web: tengo un formulario que ingresa los datos DIRECTAMENTE en un base de ...
  #1 (permalink)  
Antiguo 26/01/2012, 15:51
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
SOS SQL inyection

Holas otra vez, me urge arreglar una gran vulnerabilidad en mi pagina web:

tengo un formulario que ingresa los datos DIRECTAMENTE en un base de datos... es una vía directa a cualquier tipo de inyección y quiero cortarlo por lo sano censurando uno o dos caracteres importantes como "<" o "["

he encontrado algún código majo y sencillo pero sin instrucciones como este:

http://www.desarrolloweb.com/faq/no-permitir-caracteres-especiales.html

Cita:
function validaCaractaer(pEvent)

{

if (pEvent.keyCode==241) //esta es la letra ñ

{

pEvent.keyCode = 0; //Cuando le haces esto le impides la escritura del caracter en la caja

}

}



<input type="text" onkeypress="validaCaractaer(event);">
pero no consigo hacer que funcione... alguien es capaz de detectar algún error?

me dice que el error esta en la primera linea, que entre el "pEvent" y el ")" falta algo


quiero pensar que el código va:

<body>
<?php
AQUI
?>
</body>

he leído otras ideas menos elegantes y mas largas.. que tampoco consigo hacer funcionar... también acepto ideas nuevas que estoy fresco XD
  #2 (permalink)  
Antiguo 26/01/2012, 16:11
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SOS SQL inyection

si subes el formulario sera mas facil ayudarte y la pagina donde recibes los datos ay es donde ay que escapar los datos

si subes ambas paginas lo solucionamos rapidamente
  #3 (permalink)  
Antiguo 26/01/2012, 16:36
Avatar de geeck22  
Fecha de Ingreso: agosto-2010
Ubicación: Tijuana B.C.
Mensajes: 79
Antigüedad: 9 años, 3 meses
Puntos: 7
Respuesta: SOS SQL inyection

ese problema lo puedes solucionar con un str remplace ;) aunque seria mejor que subieras tu codigo para examinarlo bien y poderte ayudar
__________________
Si te ayudo mi respuesta, dale clic en "Me gustó, ¡gracias!", nada te cuesta :)
  #4 (permalink)  
Antiguo 26/01/2012, 16:46
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 17 años, 5 meses
Puntos: 35
Respuesta: SOS SQL inyection

Primero que nada, código que pones es javascript. Segundo, eso no te va a ayudar en nada, si acaso a detener a esos script kiddies que no saben ni como desactivar la ejecución de javascript.

Te aconsejo leer un poco mas sobre el tema, es mejor prevenir del lado del servidor, es decir, con funciones de php. Echale un ojo a funciones como mysql_real_escape_string o, incluso mejor, usar PDO.
__________________
Sin Ideas
  #5 (permalink)  
Antiguo 26/01/2012, 16:55
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SOS SQL inyection

espero que te sirva

Código PHP:
Ver original
  1. $VALOR = strip_tags(trim($_POST['VALOR']));
  2.  
  3. mysql_query("SELECT * FROM tabla WHERE valor = % ", mysql_real_escape_string(stripslashes($VALOR)));
  #6 (permalink)  
Antiguo 26/01/2012, 17:02
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

voy a añadir información pero adelanto que me quedo sin tiempo por hoy...

el código de la pagina php que agrega películas y en el que está el formulario que quiero proteger es este:

Código PHP:
Ver original
  1. <head>
  2. Blablablablablabla
  3. </head>
  4. <?php
  5.  
  6.  
  7. echo '<center>';
  8. if (!$_POST) {
  9.     ?>
  10.    
  11.  
  12.     <center><img src="img/banner.jpg" width="600" height="200" /></center>
  13.    
  14.     <div align="center" style="background-image:url(img/marco.png); background-repeat:no-repeat; background-position:center; width: 250px; height: 600px">
  15.     <form method="post" action="agregar.php" />
  16.     <h1><b><p><br /></p>Colabora:</b></h1>
  17.     Titulo: <input name="titulo" type="text" value="Titulo de la obra" maxlength="80" onkeypress="validaCaractaer(event);"/><p></p>    
  18.     Estreno: <input name="fecha" type="text" value="Año"  maxlength="4" /><p></p>
  19.     Sinopsis: <input name="sinopsis" type="text" value="No nos cuentes el final!"  maxlength="250" /><p></p>
  20.     Licencia: <input name="licencia" type="text" onclick="alert('¡Se legal, GRACIAS!')" value="Derechos"  maxlength="20"/><p></p>
  21.     Tu Nick: <input name="colaborador" type="text" value="anonymous"  maxlength="10" /><p></p>
  22.     Genero 1: <select name="genero1">
  23.       <option selected="selected">Selecciona uno</option>
  24.       <option value="Acción">Acción</option>
  25.       <option value="Animación">Animación</option>
  26.       <option value="Artes marciales">Artes marciales</option>
  27.       <option value="Aventuras">Aventuras</option>
  28.       <option value="Belico">Belico</option>
  29.       <option value="Biográfica">Biográfica</option>
  30.       <option value="Ciencia ficcion">Ciencia ficcion</option>
  31.       <option value="Familiar">Familiar</option>
  32.       <option value="Comedia">Comedia</option>
  33.       <option value="Corto">Corto</option>
  34.       <option value="Crimen">Crimen</option>
  35.       <option value="Deporte">Deporte</option>
  36.       <option value="Drama">Drama</option>
  37.       <option value="Erótico">Erótico</option>
  38.       <option value="Histórico">Histórico</option>
  39.       <option value="Infantil">Infantil</option>
  40.       <option value="Musical">Musical</option>
  41.       <option value="Periodismo">Periodismo</option>
  42.       <option value="Suspense">Suspense</option>
  43.       <option value="Terror">Terror</option>
  44.       <option value="Thriller">Thriller</option>
  45.       <option value="Western">Western</option>
  46.       <option value="Zombies">Zombies</option>
  47.     </select><p></p>
  48.     Genero 2: <select name="genero2">
  49.       <option selected="selected">Selecciona uno</option>
  50.       <option value="Acción">Acción</option>
  51.       <option value="Animación">Animación</option>
  52.       <option value="Artes marciales">Artes marciales</option>
  53.       <option value="Aventuras">Aventuras</option>
  54.       <option value="Belico">Belico</option>
  55.       <option value="Biográfica">Biográfica</option>
  56.       <option value="Ciencia ficcion">Ciencia ficcion</option>
  57.       <option value="Familiar">Familiar</option>
  58.       <option value="Comedia">Comedia</option>
  59.       <option value="Corto">Corto</option>
  60.       <option value="Crimen">Crimen</option>
  61.       <option value="Deporte">Deporte</option>
  62.       <option value="Drama">Drama</option>
  63.       <option value="Erótico">Erótico</option>
  64.       <option value="Histórico">Histórico</option>
  65.       <option value="Infantil">Infantil</option>
  66.       <option value="Musical">Musical</option>
  67.       <option value="Periodismo">Periodismo</option>
  68.       <option value="Suspense">Suspense</option>
  69.       <option value="Terror">Terror</option>
  70.       <option value="Thriller">Thriller</option>
  71.       <option value="Western">Western</option>
  72.       <option value="Zombies">Zombies</option>
  73.     </select><p></p>
  74.     Enlace: <input name="link" type="link" value="Ver pelicula online" maxlength="100" /><p></p>
  75.     Enlace: <input name="descarga" type="link" value="Descargar pelicula" maxlength="100" /><p></p>
  76.    
  77.     <p>
  78.       <input type="submit" value="Enviar" />
  79.      
  80.       <input name="Borrar" type="reset" />
  81.       <br />
  82.       </p>
  83. </div>
  84.    
  85.    
  86.     <?php
  87.  
  88. }else{
  89.    
  90.    
  91.    
  92.     $ssql = "insert into peliculas (titulo, fecha, sinopsis, licencia, colaborador, genero1, genero2, link, descarga) values ('" . $_POST["titulo"] . "', '" . $_POST["fecha"] . "', '" . $_POST["sinopsis"] . "', '" . $_POST["licencia"] . "', '" . $_POST["colaborador"] . "', '" . $_POST["genero1"] . "', '" . $_POST["genero2"] . "', '" . $_POST["link"] . "', '" . $_POST["descarga"] . "')";
  93.    
  94.    
  95.     $conexion = mysql_connect("xxxxxx","xxxxxxxx","xxxxxxxx");
  96. mysql_select_db ("xxxxxxxxxx",$conexion);
  97.     if(mysql_query ($ssql, $conexion)){
  98.         echo "<center><img src='img/banner.jpg'<p><br></p><h1>Datos agregados. ¡Muchas gracias!</h1><center>";
  99.        
  100.     }else{
  101.         echo "Error";
  102.         echo mysql_error($conexion);
  103.     }
  104. }
  105.    
  106. echo '</center>';
  107.     ?>

Última edición por GatorV; 30/01/2012 a las 19:45
  #7 (permalink)  
Antiguo 26/01/2012, 17:14
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

Cita:
Iniciado por webankenovi Ver Mensaje
espero que te sirva

Código PHP:
Ver original
  1. $VALOR = strip_tags(trim($_POST['VALOR']));
  2.  
  3. mysql_query("SELECT * FROM tabla WHERE valor = % ", mysql_real_escape_string(stripslashes($VALOR)));
esto que significa?

que puedo hacer que en query que muestra el contenido de la base de datos omita los caracteres especiales que meta en "VALOR"?
  #8 (permalink)  
Antiguo 26/01/2012, 17:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SOS SQL inyection

striptags retira etiquetas html y php del string
Trim retira espacios
Mysql_real_escape_string y stripslashes escapan datos
Pruebalo en un input y en el form introduce codigo y observa q se guardo pa q veas el resultado
  #9 (permalink)  
Antiguo 26/01/2012, 17:37
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

muy bien, mañana a primera hora lo intento y comento resultados, que se me cierran los ojos... Muchas gracias
  #10 (permalink)  
Antiguo 27/01/2012, 05:11
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

a ver... no me queda nada claro... mi formulrio está en una pagina php:

Código PHP:
Ver original
  1. <head>
  2.     Blablablablablabla
  3.     </head>
  4.     <?php
  5.      
  6.      
  7.     echo '<center>';
  8.     if (!$_POST) {
  9.         ?>
  10.        
  11.      
  12.         <center><img src="img/banner.jpg" width="600" height="200" /></center>
  13.        
  14.         <div align="center" style="background-image:url(img/marco.png); background-repeat:no-repeat; background-position:center; width: 250px; height: 600px">
  15.         <form method="post" action="agregar.php" />
  16.         <h1><b><p><br /></p>Colabora:</b></h1>
  17.         Titulo: <input name="titulo" type="text" value="Titulo de la obra" maxlength="80" onkeypress="validaCaractaer(event);"/><p></p>    
  18.         Estreno: <input name="fecha" type="text" value="Año"  maxlength="4" /><p></p>
  19.         Sinopsis: <input name="sinopsis" type="text" value="No nos cuentes el final!"  maxlength="250" /><p></p>
  20.         Licencia: <input name="licencia" type="text" onclick="alert('¡Se legal, GRACIAS!')" value="Derechos"  maxlength="20"/><p></p>
  21.         Tu Nick: <input name="colaborador" type="text" value="anonymous"  maxlength="10" /><p></p>
  22.         Genero 1: <select name="genero1">
  23.           <option selected="selected">Selecciona uno</option>
  24.           <option value="Acción">Acción</option>
  25.           <option value="Animación">Animación</option>
  26.           <option value="Artes marciales">Artes marciales</option>
  27.           <option value="Aventuras">Aventuras</option>
  28.           <option value="Belico">Belico</option>
  29.           <option value="Biográfica">Biográfica</option>
  30.           <option value="Ciencia ficcion">Ciencia ficcion</option>
  31.           <option value="Familiar">Familiar</option>
  32.           <option value="Comedia">Comedia</option>
  33.           <option value="Corto">Corto</option>
  34.           <option value="Crimen">Crimen</option>
  35.           <option value="Deporte">Deporte</option>
  36.           <option value="Drama">Drama</option>
  37.           <option value="Erótico">Erótico</option>
  38.           <option value="Histórico">Histórico</option>
  39.           <option value="Infantil">Infantil</option>
  40.           <option value="Musical">Musical</option>
  41.           <option value="Periodismo">Periodismo</option>
  42.           <option value="Suspense">Suspense</option>
  43.           <option value="Terror">Terror</option>
  44.           <option value="Thriller">Thriller</option>
  45.           <option value="Western">Western</option>
  46.           <option value="Zombies">Zombies</option>
  47.         </select><p></p>
  48.         Genero 2: <select name="genero2">
  49.           <option selected="selected">Selecciona uno</option>
  50.           <option value="Acción">Acción</option>
  51.           <option value="Animación">Animación</option>
  52.           <option value="Artes marciales">Artes marciales</option>
  53.           <option value="Aventuras">Aventuras</option>
  54.           <option value="Belico">Belico</option>
  55.           <option value="Biográfica">Biográfica</option>
  56.           <option value="Ciencia ficcion">Ciencia ficcion</option>
  57.           <option value="Familiar">Familiar</option>
  58.           <option value="Comedia">Comedia</option>
  59.           <option value="Corto">Corto</option>
  60.           <option value="Crimen">Crimen</option>
  61.           <option value="Deporte">Deporte</option>
  62.           <option value="Drama">Drama</option>
  63.           <option value="Erótico">Erótico</option>
  64.           <option value="Histórico">Histórico</option>
  65.           <option value="Infantil">Infantil</option>
  66.           <option value="Musical">Musical</option>
  67.           <option value="Periodismo">Periodismo</option>
  68.           <option value="Suspense">Suspense</option>
  69.           <option value="Terror">Terror</option>
  70.           <option value="Thriller">Thriller</option>
  71.           <option value="Western">Western</option>
  72.           <option value="Zombies">Zombies</option>
  73.         </select><p></p>
  74.         Enlace: <input name="link" type="link" value="Ver pelicula online" maxlength="100" /><p></p>
  75.         Enlace: <input name="descarga" type="link" value="Descargar pelicula" maxlength="100" /><p></p>
  76.        
  77.         <p>
  78.           <input type="submit" value="Enviar" />
  79.          
  80.           <input name="Borrar" type="reset" />
  81.           <br />
  82.           </p>
  83.     </div>
  84.        
  85.        
  86.         <?php
  87.      
  88.     }else{
  89.        
  90.        
  91.        
  92.         $ssql = "insert into peliculas (titulo, fecha, sinopsis, licencia, colaborador, genero1, genero2, link, descarga) values ('" . $_POST["titulo"] . "', '" . $_POST["fecha"] . "', '" . $_POST["sinopsis"] . "', '" . $_POST["licencia"] . "', '" . $_POST["colaborador"] . "', '" . $_POST["genero1"] . "', '" . $_POST["genero2"] . "', '" . $_POST["link"] . "', '" . $_POST["descarga"] . "')";
  93.        
  94.        
  95.         $conexion = mysql_connect("xxxxxx","xxxxxxxx","xxxxxxxx");
  96.     mysql_select_db ("xxxxxxxxxx",$conexion);
  97.         if(mysql_query ($ssql, $conexion)){
  98.             echo "<center><img src='img/banner.jpg'<p><br></p><h1>Datos agregados. ¡Muchas gracias!</h1><center>";
  99.            
  100.         }else{
  101.             echo "Error";
  102.             echo mysql_error($conexion);
  103.         }
  104.     }
  105.        
  106.     echo '</center>';
  107.         ?>



la sentencia sql que muestra los datos esta en otra pagina:

Código PHP:
Ver original
  1. <body>
  2.  
  3. <center>
  4. <img src="img/banner.jpg" width="600" height="200" />
  5. <p></p>
  6.   <?php
  7.  
  8. $conexion = mysql_connect("XXXXXXX","XXXXXX","XXXX");
  9. mysql_select_db ("XXXXXX",$conexion);
  10.  
  11. $registros = mysql_query ("select * from `peliculas`", $conexion);
  12.  
  13. while ($fila = mysql_fetch_array($registros)) {
  14.     echo "<div id='fondo' style='border: 0px  yellow solid; width: 600px; padding: 10px;'>";
  15.     echo "<p></p>Titulo: <b>";
  16.     echo $fila["titulo"];
  17.     echo "</b> ------ Año: <b>";
  18.     echo $fila["fecha"];
  19.     echo "<p></p></b>Licencia: ";
  20.     echo $fila["licencia"];
  21.     echo "<br>Genero: ";
  22.     echo $fila["genero1"];
  23.     echo ", ";
  24.     echo $fila["genero2"];
  25.     echo "<p></p> Sinopsis: ";
  26.     echo $fila["sinopsis"];
  27.     echo "<p></p> Colaborador: ";
  28.     echo $fila["colaborador"];
  29.     echo "<br> Ver Online: ";
  30.     echo '<a href="' . $fila["link"] . '"target="_blank">';
  31.     echo $fila["link"];
  32.     echo '</a>';
  33.     echo "<br> Descargar: ";
  34.     echo '<a href="' . $fila["descarga"] . '"target="_blank">';
  35.     echo $fila["descarga"];
  36.     echo '</a>';
  37.     echo "<p></p>";
  38.     echo "</div>";
  39. }
  40. ?>
  41.  
  42. </center></body>

donde tendria que meter este codigo?

Código PHP:
Ver original
  1. $VALOR = strip_tags(trim($_POST['VALOR']));
  2.      
  3.     mysql_query("SELECT * FROM tabla WHERE valor = % ", mysql_real_escape_string(stripslashes($VALOR)));


en los inputs o en las sentencias sql?

Última edición por apadravya; 27/01/2012 a las 05:24
  #11 (permalink)  
Antiguo 27/01/2012, 05:25
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 1 mes
Puntos: 175
Respuesta: SOS SQL inyection

y creo que deberia ir en la parte que haces tu insert en la base de datos.. lo que puso el amigo es solo un ejemplo de como funciona...

deberia esta en esta parte, en todos los datos tipo $_POST[]

Código PHP:
$ssql "insert into peliculas (titulo, fecha, sinopsis, licencia, colaborador, genero1, genero2, link, descarga) values ('" $_POST["titulo"] . "', '" $_POST["fecha"] . "', '" $_POST["sinopsis"] . "', '" $_POST["licencia"] . "', '" $_POST["colaborador"] . "', '" $_POST["genero1"] . "', '" $_POST["genero2"] . "', '" $_POST["link"] . "', '" $_POST["descarga"] . "')"
el problema con esto es que tienes demasiados parametros para introducir a la BD... En el buscador del FORO existen muchos topicos que hablan de como evitar inyecciones SQL ya resueltos, puede que alguno te sirva para hacer copy paste.. incluso hay funciones ya hechas que te pueden ayudar..
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #12 (permalink)  
Antiguo 27/01/2012, 05:55
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

pufff me pierdo... no se me ocurre ni una idea aproximada de como meterlo en el POST[]
  #13 (permalink)  
Antiguo 27/01/2012, 08:11
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 11 años, 1 mes
Puntos: 175
Respuesta: SOS SQL inyection

quieres filtrar un sql injection, pero no entiendes de php, esto esta complicado hermano... si tuviera un poco mas de tiempo te pasaba una mano...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #14 (permalink)  
Antiguo 27/01/2012, 08:36
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 9 años, 2 meses
Puntos: 91
Respuesta: SOS SQL inyection

Las 'ñ' no son tan peligrosas como un usuario malintencionado xD!

acá unos tips de parte de la comunidad PHP para ayudarte a conocer un poco lo que son los SQL injection y unos tips básicos de como prevenirlos

http://www.php.net/manual/es/securit...-injection.php

saludos :)
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #15 (permalink)  
Antiguo 27/01/2012, 10:36
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SOS SQL inyection

haber esto es para limpiar la variable de codigo

$VALOR = strip_tags(trim($_POST['VALOR']));

y para que lo entiendas te pongo un ejemplo de tu codigo

Código PHP:
Ver original
  1. $titulo = strip_tags($_POST['titulo']);
  2.  $fecha= strip_tags($_POST['fecha']);

es decir no pasamos la variable pòst directamente a la consulta lla limpiamos y ya la añadimos a la consulta

ahora en la consulta te pongo un ejemplo de tu codigo

Código PHP:
Ver original
  1. $ssql = sprintf("insert into peliculas (titulo,fecha) values ('%s','%s')"

y al mostrarlos igualmente

Código PHP:
Ver original
  1. echo striptags($fila["titulo"]);

este metodo no es 100%100 seguro , hoy en dia nada es seguro pero te solucionara algun problema
  #16 (permalink)  
Antiguo 27/01/2012, 17:16
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

MUY MUY MUY MUY bien... bueno casi.... en el ultimo cigo se te a olvidado un _ pero por lo demas 100% perfecto... voy a ponerlo aqui para que sirva de ayuda a futuros ignorantes:

el codigo bajo el formulario para agregar los datos:

Código PHP:
Ver original
  1. $conexion = mysql_connect("xxxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxx");
  2. mysql_select_db ("xxxxxxxxxxxxxxxxx",$conexion);
  3.  
  4.      $titulo = strip_tags($_POST['titulo']);
  5.      $fecha = strip_tags($_POST['fecha']);
  6.      $sinopsis = strip_tags($_POST['sinopsis']);
  7.      $licencia = strip_tags($_POST['licencia']);
  8.      $colaborador = strip_tags($_POST['colaborador']);
  9.      $genero1 = strip_tags($_POST['genero1']);
  10.      $genero2 = strip_tags($_POST['genero2']);
  11.      $link = strip_tags($_POST['link']);
  12.      $descarga = strip_tags($_POST['descarga']);
  13.  
  14.    
  15.    
  16.         $ssql = sprintf("insert into peliculas (titulo, fecha, sinopsis, licencia, colaborador, genero1, genero2, link, descarga) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s')"
  17.    
  18.    
  19.     // esto es lo que tenia antes, pero ya no sirve para nada:
  20.  
  21. //$ssql = "insert into peliculas (titulo, fecha, sinopsis, licencia, colaborador, genero1, genero2, link, descarga) values ('" . $_POST["titulo"] . "', '" . $_POST["fecha"] . "', '" . $_POST["sinopsis"] . "', '" . $_POST["licencia"] . "', '" . $_POST["colaborador"] . "', '" . $_POST["genero1"] . "', '" . $_POST["genero2"] . "', '" . $_POST["link"] . "', '" . $_POST["descarga"] . "')";



y en la pagina que muestra los resultados he cambiado cada
Código PHP:
Ver original
  1. echo $fila["titulo"];
por
Código PHP:
Ver original
  1. echo strip_tags($fila["titulo"]);



ademas he agregado un nuevo aparatado para ir poniendo los nombres de las personas que se han tomado la molestia de forma altruista y que creo que merecen por lo menos la consideración. y tu nombre va a ser el primero, a menos que seas timido :P

MUCHAS GRACIAS
  #17 (permalink)  
Antiguo 27/01/2012, 17:19
 
Fecha de Ingreso: enero-2012
Mensajes: 56
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: SOS SQL inyection

solucionado pues
  #18 (permalink)  
Antiguo 28/01/2012, 12:00
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: SOS SQL inyection

me alegro amigo , no no soy timido jeje si iba por mi

ademas de strip_tags yo suelo usar strtolower() para hacer todo en minusculas , trim() para retirar espacios donde tu lo consideres , tambien puedes usar htmlentities() o htmlspecialchars() y en la consulta tambien puedes añadir addslashes() y bueno esto es solo un grano de arena de una montaña asi que investiga y mejora tu seguridad y bueno me alegro que te funcionara

por si deseas que funcione alguna etiqueta

$valor = strip_tags(strtolower(trim($ejemplo)),'<a>');

un saludo amigos

Etiquetas: formulario, html, sos, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.