Foros del Web » Programando para Internet » PHP »

Usar la seguridad.

Estas en el tema de Usar la seguridad. en el foro de PHP en Foros del Web. Bueno, en mi página web un amigo mío que sabe de programación me la ha hackeado; es decir, para que aprenda. Y lo que me ...
  #1 (permalink)  
Antiguo 17/06/2013, 07:05
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 6 años, 7 meses
Puntos: 5
Busqueda Usar la seguridad.

Bueno, en mi página web un amigo mío que sabe de programación me la ha hackeado; es decir, para que aprenda. Y lo que me ha dicho por Skype es lo siguiente:

Cita:
Veras, para evisar ataques XSS solo usa strip_tags(), eso lo que hace es eliminar los tags HTML
Usa mysql_real_escape_string() para evitar ataques SQLi
Usa htmlspecialchars() para eliminar las funciones HTML de una variable.
Para determinar las extenciones del formulario de imágenes tienes que determinar el tipo MIME, este es el que te mostrará el tipo de extención a usar.
No entiendo muy bien, os muestro, al subir los datos a PHP de mi formulario de imágenes es el siguiente:

Código PHP:
Ver original
  1. $usuario = $_SESSION['usuario']; //Cojo el usuario
  2.         $post = $_POST['post']; //Cojo el mensaje
  3.     $con=mysql_connect($mysql_host, $mysql_user, $mysql_password);
  4.     mysql_select_db($mysql_database, $con); //Me conecto
  5.    
  6.     if($_FILES['imagen']['tmp_name'] == NULL){ //Compruebo que hay imagen
  7.         mysql_query("INSERT INTO posts(usuario, post, nombre) VALUES('".$usuario."','".$post."','".$nombre."')"); //Si no hay imagen solo sube el texto
  8.         header("Location: index.php"); //Y vuelve al inicio
  9.     }else{ //Si hay imagen...
  10.     include('conexion.php'); //Me conecto
  11.     $ruta = "imagen"; //Selecciono la carpeta
  12.     $archivotemporal = $_FILES['imagen']['tmp_name']; //Esto no sé para que es, si me lo podéis explicar me lo decís xddd
  13.     $archivo = $_FILES['imagen']['name']; //Esto tampoco, supongo que es la imagen...
  14.    
  15.     move_uploaded_file($archivotemporal, $ruta."/".$archivo); //Subo la imagen
  16.     $ruta = $ruta."/".$archivo; //Me quedo con la ruta completa
  17.    
  18.     $con=mysql_connect($mysql_host, $mysql_user, $mysql_password); //Me conecto
  19.     mysql_select_db($mysql_database, $con); //Sigo conectando con la base de datos
  20.     mysql_query("INSERT INTO posts(usuario, post, nombre, imagen) VALUES('".$usuario."','".$post."','".$nombre."','".$ruta."')"); //Lo subo todo al servidor
  21.     header("Location: index.php"); //Y vuelve al inicio.
  22.     }

Lo que quiero, es implementar la seguridad que ha dicho mi amigo en el código, ¿me podrían ayudar? Muchísimas gracias, como pueden comprobar tampoco sé para que sirven las lineas de:

Código PHP:
Ver original
  1. $archivotemporal = $_FILES['imagen']['tmp_name']; //Esto no sé para que es, si me lo podéis explicar me lo decís xddd
  2.     $archivo = $_FILES['imagen']['name']; //Esto tampoco, supongo que es la imagen...

Si me podéis ayudar si no es mucha molestia para tan solo una breve descripción os lo agradecería; el manual de PHP no lo suelo entender...
  #2 (permalink)  
Antiguo 17/06/2013, 07:25
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 9 años, 2 meses
Puntos: 331
Respuesta: Usar la seguridad.

Todo lo que necesitas saber está aquí: http://www.php.net/manual/es/security.php
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 17/06/2013, 12:26
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 6 años, 7 meses
Puntos: 5
Respuesta: Usar la seguridad.

Lo siento... Es que ya he dicho que no comprendo nunca el manual de PHP... ¿No puedes usar mi código implementando esos códigos? Igualmente yo aprenderé más fácilmente. Respecto a lo de las imágenes, ¿qué significa...

Código PHP:
Ver original
  1. $archivotemporal = $_FILES['imagen']['tmp_name']; //Esto no sé para que es, si me lo podéis explicar me lo decís xddd
  2. $archivo = $_FILES['imagen']['name']; //Esto tampoco, supongo que es la imagen...
...?

Muchas gracias por responder :)

Etiquetas: formulario, html, mysql, select, sql, usar
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 20:58.