elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Login con md5 , BD funciona pero no funciona
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Login con md5 , BD funciona pero no funciona  (Leído 10,131 veces)
securedigital


Desconectado Desconectado

Mensajes: 532


Do you enjoy with IBM OS/400 ¿


Ver Perfil WWW
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #10 en: 19 Mayo 2007, 20:09 pm »

Hola

Bua, sigue aún que no entra bien. :xD
Consegui que entrara, preo si se ponia el passwd bien o mal entraba de todas formas...pero al final lo dejo de otra forma. He cambiado algunas cositas.


Aver si alguien puede ver que demonios le passa.


index.php

Código:
<?php


//define('CONFIG','config-main.php');
//include(CONFIG);
include("config-main.php");
if (!$_POST['submit']){
echo "<form name='login' method='post' action='index.php'>
<input type='text' name='user' /><br />
<input type='password' name='pass' /><br>
<input type='submit' value='Entrar' name='sumbit' /><input type='reset' value='Esborrar' />
</form>";
} else {
$user = $_POST['user'];
$pass = md5($_POST['pass']);

$query = mysql_query("Select * from login where User = '$user'");
$query = mysql_num_rows($query);

if ($query == 0) {
echo "No s'ha trobat l'usuari.<br />
<a href='index.php'>Tornar enrere</a>";
} else {
$query2 = mysql_query("Select * from login where User = '$user'");
$query2 = mysql_fetch_array($query2);
if ($pass != $query2['pass']) {
echo "Les contrasenyes no coincideixen.<br />
<a href='index.php'>Tornar enrere</a>";
} else {

session_start();
$_SESSION['user'] = $user;

header("Location: Principal.php");
}
}
}
?>


Principal.php

Código:
<?php
session_start();
include ("config-main.php");

//$query = mysql_query("Select * from login where User = $_SESSION['user']");
// linea que daba ERROR y ahora no
$query = mysql_query("select * from login where User = '".$_SESSION['user']."'");
$query = mysql_num_rows($query);

if ($query != 1){
header("Location: index.php");

} else {
echo "Aqui deberia mostrar el contenido";
}
?>


config-main.php

Código:
<?php


$host="localhost";
$user="*********"; //usuari de la base de dades
$pass="********"; //password de la base de dades
$db="******"; //nom de la base de dades

//$conexion = mysql_connect($host,$user,$pass);
//mysql_select_db($db,$conexion);


//mysql_connect($host,$user,$pass);
//mysql_select_db(*******);

mysql_connect($host,$user,$pass) or die (mysql_error());
mysql_select_db($db) or die(mysql_error());

?>




Saludos


En línea

The man who whispered to the computers
Der Mann, der zu den Computern flüsterte

                                                 FAD58DE7366495DB4650CFEFAC2FCD61

                                    
Rentero
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.164


La paciencia es la madre de la ciencia.


Ver Perfil
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #11 en: 20 Mayo 2007, 03:00 am »

Holas.


¿Ya funciona?

No estoy siguiendo el post pero un par de cosillas.
En la página de login tienes que filtar la variable $user($_POST['user']) con htmlspecialchars(), addslashes(), etc por el tema de la seguridad. No puedes utilizar una variable para una consulta sin antes filtrar su cotenido, sino tendrás problemas con SQL inyection y demás.

Otra cosilla por decir algo, en las páginas que quieras proteger no es necesarrio que hagas ninguna consulta. Puedes hacerlo simplemente comprobando si existe $_SESSION['user']

Saludos ;)


En línea

Firmado.
securedigital


Desconectado Desconectado

Mensajes: 532


Do you enjoy with IBM OS/400 ¿


Ver Perfil WWW
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #12 en: 20 Mayo 2007, 19:15 pm »

Principal.php Arreglado, el tema de sql injection ya me lo he estado mirando, pero antes que nada que el codigo funcione correctamente....antes de lialr mas codigo allí.

Sige sin funcionar.


Principal.php

Código:
<?php
session_start();
include ("config-main.php");

//$query = mysql_query("Select * from login where User = $_SESSION['user']");
// linea que daba ERROR y ahora no

//$query = mysql_query("select * from login where User = '".$_SESSION['user']."'");
//$query = mysql_num_rows($query);

//if ($query != 1){
if ($_SESSION[user] == NULL){
header("Location: index.php");

} else {
echo "Aqui deberia mostrar el contenido";
}
?>
En línea

The man who whispered to the computers
Der Mann, der zu den Computern flüsterte

                                                 FAD58DE7366495DB4650CFEFAC2FCD61

                                    
Rentero
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.164


La paciencia es la madre de la ciencia.


Ver Perfil
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #13 en: 21 Mayo 2007, 00:22 am »

Hola.

¿No te funciona? ¿Te da algún error? ¿Cual es el problema?

Prueba esto:
Código:
<?php
error_reporting(E_ALL); //para que muestre todos los errores
session_start();
include("config-main.php");

if (isset($_POST['entrar']))
{
$user = $_POST['user']; //filtrar esto
$pass = md5($_POST['pass']);

$query = mysql_query("Select * from login where User='$user'");
$resultados = mysql_num_rows($query);

if ($resultados > 0)
{
$query2 = mysql_query("Select pass from login where User='$user'");
$contra = mysql_fetch_array($query2);

if ($pass == $contra['pass'])
{
$_SESSION['user'] = $user;
header("Location: Principal.php");
}else{
echo "Les contrasenyes no coincideixen.<br /><a href='index.php'>Tornar enrere</a>";
}

}else{
echo "No s'ha trobat l'usuari.<br /><a href='index.php'>Tornar enrere</a>";
}
}
?>
<form name='login' method='post' action='index.php'>
<input type='text' name='user' /><br />
<input type='password' name='pass' /><br>
<input type='submit' value='Entrar' name='entrar' /><input type='reset' value='Esborrar' />
</form>

Teóricamente debería funcionar. error_reporting() lo usamos para que muestre todos los errores o avisos durante la ejecución del archivo. No s sirve para ver si hay algún problema por parte de PHP.

Sinceramente solo le he echado un vistazo por encima, pero prueba ese index.php y nos cuentas que pasa con más detalle ;)

Otra cosa: ¿User va con mayúscula en la base de datos?
Otra más: En las páginas protegidas. Debería bastar con:
Código:
<?php
session_start();

if (isset($_SESSION['user']))
{
echo "Aqui deberia mostrar el contenido";
} else {
header("Location: index.php");
}
?>
« Última modificación: 21 Mayo 2007, 00:26 am por Rentero » En línea

Firmado.
SeniorX


Desconectado Desconectado

Mensajes: 1.347


Programador Novato


Ver Perfil WWW
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #14 en: 21 Mayo 2007, 04:49 am »


Otra más: En las páginas protegidas. Debería bastar con:
Código:
<?php
session_start();

if (isset($_SESSION['user']))
{
echo "Aqui deberia mostrar el contenido";
} else {
header("Location: index.php");
}
?>

Cuidado con eso, que es muy vulnerable. Debes chequear si la sesion es correcta, es decir si el nombre de usuario y la password coinciden. Lo que haces con el isset($_SESSION['user']) es ver si la sesion tiene un nombre de usuario nada mas.
Ojo con eso.
En línea

Código:
try {
     live();
}
catch (ShitHappensException ex) {
MessageBox.Show(ex.Solution)
}
Precaución: La programacion puede producir adiccion
Rentero
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.164


La paciencia es la madre de la ciencia.


Ver Perfil
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #15 en: 21 Mayo 2007, 22:49 pm »

Se supone que lo compruebas en la página de login, como dije antes.

De todas formas, el tema de la seguridad corre por cuenta propia.

Saludos ;)
En línea

Firmado.
securedigital


Desconectado Desconectado

Mensajes: 532


Do you enjoy with IBM OS/400 ¿


Ver Perfil WWW
Re: Login con md5 , BD funciona pero no funciona
« Respuesta #16 en: 25 Mayo 2007, 17:46 pm »

Hola, tambien me olvidé
Código:
session_register(sd);
en la pagina a proteger para que coga el session  :o  :xD

Buff, ya estoy hasta los....no tengo tanto nivel para programarlo yo solo y acabar de terminarlo, me da demasiados problemas y me esta comiendo muuuuucho tiempo. He cogido un script de login ya hecho de por ai y lo he modificado a mi gusto. Ya esta totalmente funcional.

Solo tengo una duda.
Tamien le he aplicado un filtro para evitar SQL injection, he "prohibido" algunos caracteres
 
Código:
("([*])|([|])|([;]|([`])","",$string)

Debo de poner otros o alguna cosa mas para aumentar la seguridad al maximo en el tema SQL injection e ataques XSS?


Saludos y gracias

En línea

The man who whispered to the computers
Der Mann, der zu den Computern flüsterte

                                                 FAD58DE7366495DB4650CFEFAC2FCD61

                                    
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Context-root en eclipse no funciona, pero si genero ear y despliego, si funciona
Desarrollo Web
JobFer 0 2,170 Último mensaje 26 Septiembre 2014, 10:09 am
por JobFer
No funciona el login
PHP
orioliz 1 2,471 Último mensaje 16 Noviembre 2016, 15:30 pm
por Ocelot1994
chat que solo funciona con login en alguna pagina
Hacking
tincopasan 1 3,034 Último mensaje 26 Abril 2017, 03:17 am
por lorenso369
Cómo hacer login en Windows 10 si el teclado no funciona
Noticias
wolfbcn 0 1,469 Último mensaje 4 Octubre 2017, 01:59 am
por wolfbcn
Login funciona de manera local pero no en el Hosting
PHP
Tron9811 1 2,343 Último mensaje 19 Mayo 2018, 08:10 am
por Ali Baba
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines