HOla amores, disculpen comunmente mi login sirve de maravilla (bueno a mi parecer), pero me tope que me dicen que es muy sencillo he inseguro, quiero hacerlo un poco mas seguro porque me dijeron le falta algunas cosas de seguridad, espero me puedan auxiliar en esto:
index.php
Código HTML:
Ver original<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> .msj
{
font:Arial, Helvetica, sans-serif;
color:red;
font-weight:bold;
background:#FFFF00;
}
<form action="procesar_pas.php" method="post"> <?php if(isset($_GET['mensaje'])){ echo '<div class="msj">'.$_GET['mensaje'].'
</div>'; } ?>
<table width="304" border="1" align="center"> <?php
if(isset($_GET['pai'])){?><tr><td colspan="3"><span style="font-size:12px; color:red;"><?php echo $_GET['pai'];?></span></td></tr><?php } ?> <td width="98">NOMBRE:
</td> <td width="190"><input name="nombre" type="text" id="nombre" value="<?php if(isset($_GET['usuario'])){echo $_GET['usuario'];}if(!empty($_SESSION['usuario'])){echo $_SESSION['usuario'];}?>" />
<?php echo '<span style=" color:red;">'.$_GET['user'].'
</span>'?>
</td> <td><input name="pass" type="password" id="pass" value="<?php if(isset($_GET['password'])){ echo $_GET['password'];}?>"/>
<?php echo '<span style=" color:red;">'.$_GET['pas'].'
</span>'?>
</td> <input name="enviar" type="submit" id="enviar" value="ENTRAR" /> </td> <td><input name="cancel" type="reset" id="cancel" value="CANCELAR" /></td>
procesar_pas.php
Código PHP:
<?php
session_start();
include "conexion.php";
if(isset($_POST['enviar'])){
if(!empty($_POST['nombre']) && !empty($_POST['pass'])){
$nombre=$_POST['nombre'];
$pass=md5($_POST['pass']);
conectar();
$b=mysql_query("select *from usuarios where usuario='$nombre'") or die ("error".mysql_error());
$existe=mysql_num_rows($b);
$c=mysql_fetch_array($b);
desconectar();
if($existe>0){
$_SESSION['usuario']=$nombre;
if($pass==$c['password'] && !empty($pass)){
$_SESSION['admitio']="si";
header("location:frame.php");
exit();
}else{
header("location:index.php?pai=EL PASSWORD ESTA MAL");
exit();
}
}
else{
header("location:index.php?pai=NO EXISTE USUARIO");
exit();
}
}
else{
//si no hay valores en los inputs
if(empty($_POST['nombre'])){
$user="*FALTA NOMBRE";
}
if(empty($_POST['pass'])){
$pas="*FALTA PASSWORD";
}
header("location:index.php?mensaje=LLENAR TODOS LOS DATOS&user=".$user."&pas=".$pas."&usuario=".$_POST['nombre']."&password=".$_POST['pass']);
exit();
}
}
?>
conexion.php
Código PHP:
<?php
function conectar()
{
mysql_connect("localhost","user","*****");
mysql_select_db("login");
}
function desconectar()
{
mysql_close();
}
?>
espero me den alguna idea