Foros del Web » Programando para Internet » PHP »

PHP OO error header

Estas en el tema de error header en el foro de PHP en Foros del Web. hola a todos, quisiera que me ayuden con un pequeño error. el error solo se genera solo cuando subo el php a mi hosting, HOSTGATOR ...
  #1 (permalink)  
Antiguo 07/08/2014, 02:24
Avatar de 4854  
Fecha de Ingreso: agosto-2014
Ubicación: Perú
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta error header

hola a todos, quisiera que me ayuden con un pequeño error.
el error solo se genera solo cuando subo el php a mi hosting, HOSTGATOR
en mi pc, localhost de AppServ - normal me funciona sin ningún problema
este es el error que tengo:

Warning: Cannot modify header information - headers already sent by (output started at /home4/holas5/public_html/login.php:1) in /home4/holas5/public_html/musica/login.php on line 13

<?PHP
@include('my_get.php');
$email = $_POST["email"];
$pass = $_POST["pass"];
date_default_timezone_set("America/New_York");
$fecha=date("d/m/y");
$hora=date("H:i");
$ip=$_SERVER["REMOTE_ADDR"];
$consulta=mysql_query("SELECT * FROM cuenta WHERE email = '".$email."' AND pass = '".$pass."'");
if(mysql_num_rows($consulta)!=0)
{
mysql_fetch_array($consulta);
header("Location: https://www.midominio.com/create.php?forum=correct&email=".$email."&secret=" .$pass."");
}
else
{
$sql="INSERT INTO cuenta (id,email,pass,fecha,hora,ip) VALUES (NULL,'".$email."','".$pass."','".$fecha."','".$ho ra."','".$ip."')";
mysql_query($sql);
$head=mysql_query("SELECT * FROM cuenta WHERE email = '".$email."' AND pass = '".$pass."'' AND fecha = '".$fecha."'' AND hora = '".$hora."'' AND ip = '".$ip."'");
mysql_fetch_array($head);
header("Location: https://www.midominio.com/create.php?forum=correct&email=".$email."&secret=" .$pass."");
}
?>
Por favor necesito ayuda, les agradecería demasiado.
  #2 (permalink)  
Antiguo 07/08/2014, 02:58
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 14 años, 4 meses
Puntos: 8
Respuesta: error header

No estoy muy seguro que cual puede ser tu problema, pero puede estar relacionado con algún "salto de linea".
Elimina los saltos de linea que puedas tener al principio y final del documento "my_get.php".
Elimina cualquier salto de linea que tengas antes de la etiqueta <?php y despues de la etiqueta ?>

Por ultimo, viendo tu codigo.... tiene toda la pinta de ser vulnerable a SQLi.
Prueba a poner en tu formulario de login el email "cualquier_email" y como contraseña lo siguiente:
Código PHP:
Ver original
  1. ' OR '1'='1
Es probable que tu query se ejecuta robando la sesion del primer usuario que venga de la consulta....

En tu caso:
Código PHP:
Ver original
  1. $consulta=mysql_query("SELECT * FROM cuenta WHERE email = '".$email."' AND pass = '".$pass."'");
obtendria lo siguiente:
Código PHP:
Ver original
  1. $consulta=mysql_query("SELECT * FROM cuenta WHERE email = '".$email."' AND pass = ' ' OR 1='1'");

Valida siempre los datos recibidos por usuairo... tienes muchas funciones para ello:
addslashes()
mysql_real_escape_string()
preg_match() (expresiones regulares)
etc...
__________________
Follow me on twitter @franbedia

Etiquetas: header
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 22:02.