Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - tecasoft

#201
puedes poner algun ejemplo de login.php para ver las funciones como las utilizas porque yo utilizaba el mysql_fetch_array y hay metia un valor $correcto=1 para que me entrara si fuera $correcto=1 sino entraba con $correcto=0, como se haria con mysqli en este ejemplo:


<?php
session_start
();

if(!isset(
$_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];


if (
strlen($usuario)<|| strlen($usuario)>15)
{
      echo  
"El limite esta entre 8 y 15 caracteres<br>";      
      return 
false;
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   
$validos "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_@#";
   for (
$i=0$i<strlen($usuario); $i++){
      if (
strpos($validossubstr($usuario,$i,1))===false){
         echo  
" Contiene caracteres no permitidos<br>";
                                    return 
false ;        
         
      }
   }

$cifrad=hash('sha512',$pass);

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include(
"conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if(
$fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if(
$correcto==1)
{
echo 
"Has entrado: "$fila1['cod_admin'];
}

if(
$correcto==0)
{
echo 
"No entras";
unset(
$_SESSION['usuario1']);
unset(
$_SESSION['contrasena']);

}

mysql_close($conexion);
?>


#202
tu con cual trabajas¿? y los archivos php.ini etc, actuan bien¿?
#203
es decir que tendria que cambiar de mysql todas mysql_connect,mysql_select_db, etc dices¿¿¿?
#204
xk mysqli?¿ y si tengo un proyecto echo en mysql que pasaria¿?
#205
estoy haciendo mi codigo pero nose si ando bien, comenten algo sobre la lista blanca xk parece que eso es lo que me falla ahora solo. ademas necesito algun array o algo para no repetir codigo como lo podria hacer tambien en lo de longitud de caracateres, gracias haber si sale algun experto en arrays o algo de esto,porque sino tendria x cada campo que repetir codigo y eso es mucho codigo:


<?php
session_start
();

if(!isset(
$_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];


if (
strlen($usuario)<|| strlen($usuario)>15)
{
      echo  
" El limite esta entre 8 y 15 caracteres<br>";
      return 
false
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   
$validos "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_ @#";
   for (
$i=0$i<strlen($usuario); $i++){
      if (
strpos($validossubstr($usuario,$i,1))===false){
         echo  
" Contiene caracteres no permitidos<br>";
                                    return 
false ;        
         
      }
   }
   return 
true;


/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
/*$pass=mysql_real_escape_string($pass);*/


/*$cifrad=hash('sha512',$pass);*/

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include(
"conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if(
$fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if(
$correcto==1)
{
echo 
"Has entrado: "$fila1['cod_admin'];
}

if(
$correcto==0)
{
echo 
"No entras";
unset(
$_SESSION['usuario1']);
unset(
$_SESSION['contrasena']);

}

mysql_close($conexion);
?>

#206
E RECTIFICADO Y X CIERTO MYSQL_REAL_ESCAPE_STRING esta totalmente descartado da errores:


<?php
session_start
();

if(!isset(
$_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];

/*$dato=12345;
if (strlen($dato)<1 || strlen($dato)>15)
{
      echo  " El limite del dato es de 15 caracteres<br>";
      return false; 
   }
   echo $dato;*/
/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
/*$pass=mysql_real_escape_string($pass);*/


$cifrad=hash('sha512',$pass);
echo 
$cifrad;
}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include(
"conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if(
$fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if(
$correcto==1)
{
echo 
"Has entrado: "$fila1['cod_admin'];
}

if(
$correcto==0)
{
echo 
"No entras";
unset(
$_SESSION['usuario1']);
unset(
$_SESSION['contrasena']);

}

mysql_close($conexion);
?>

#207
mysql_real_escape_string sea a actualizado no¿¿? xk ahora cifra los datos que pasa pero no los puedo guardar en la base de datos que hago, aqui os paso el codigo con el mysql_real_escape_string comentado sino no me funciona y no loguea el usuario "SERGIO":


<?php
session_start
();

if(!isset(
$_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];

/* cifra el mysql_real_escape_string los datos, asi que habrá que de algun modo de cifrar los datos pero que estos sean devueltos en la base de datos*/
/*$usuario=mysql_real_escape_string($usuario);*/
$pass=mysql_real_escape_string($pass);


$cifrad=hash('sha512','$pass');

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include(
"conexionbd.php");

$conexion=mysql_connect($host,$usu,$pusu);

mysql_select_db($bd,$conexion);

$correcto=0;
$result=mysql_query("select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'",$conexion);

if(
$fila1=mysql_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if(
$correcto==1)
{
echo 
"Has entrado: "$fila1['cod_admin'];
}

if(
$correcto==0)
{
echo 
"No entras";
unset(
$_SESSION['usuario1']);
unset(
$_SESSION['contrasena']);

}

mysql_close($conexion);
?>




--
-- TABLA Administradores
--

CREATE TABLE REC_administradores(
cod_admin INTEGER NOT NULL AUTO_INCREMENT,
usuario1 VARCHAR(200) NOT NULL,
contrasena VARCHAR(200) NOT NULL,
adminemail VARCHAR(200) NOT NULL,
usuario VARCHAR(20),
CONSTRAINT PKUSUA PRIMARY KEY (cod_admin),
CONSTRAINT adminunica1 UNIQUE(usuario1),
CONSTRAINT adminunica11 UNIQUE(usuario)
) ENGINE=InnoDB;


NECESITO contra sql injection y cifrar la base de datos con algun algoritmo recursivo*.
#208
PHP / Re: me da contraseñas distintas y no funciona
15 Noviembre 2012, 21:07 PM
e decidido formatear y empezar de nuevo:

ahora lo que busco esta aqui me parece a alguien le pasa lo mismo o que deberia utilizar para mis aplicaciones me vayan.

http://www.php.net/manual/es/function.mysql-fetch-array.php
#209
no habia un metodo que utilizabas solo un comando, que yo recuerde
#210
y que sean solo carpetas como¿?