Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2009, 14:20
easy
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 17 años, 9 meses
Puntos: 2
Pregunta problemas con controlar el acceso a una sesion

Amigos el problema que tengo es el siguiente:
Quiero hacer un sistema en el que se pueda controlar una sesion de usuario, y que el contenido del formulario sea también un campo captcha.

tengo lo siguiente:

1- formulario de ingreso con captcha
2- pagina de control de inicio de sesion
3- pagina de control de sesiones para que sean paginas seguras
4- pagina de inicio con acceso restringido
5- pagina de salir y eliminar la sesion
6- pagina del captcha

1-
Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="control.php">
  <p>
    <label>
    <input type="text" name="pass" />
    </label>
  </p>
  <p>
    <label>
    <img src="script.php" align="absmiddle"><input type="text" name="code" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Enviar" />
    </label>
  </p>
</form>
</body>
</html> 
2-
Código PHP:
$conn = mysql_connect("dominio", "usuario", "clave") or die(mysql_error());
mysql_select_db("bd", $conn) or die(mysql_error());

$pass = $_POST['pass'];

$ask = "SELECT * FROM tabla WHERE campo=(SHA1('$pass'))";

$resultx = mysql_query($ask);
$rowq = mysql_fetch_array($resultx);

$url = $rowq['campo2'];
$level = $rowq['campo3'];

if (
mysql_num_rows($resultx)!=0){

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

if (isset(
$_POST['code']) && strlen($_POST['code']) == 4 && isset($_SESSION['code']) && strtolower($_POST['code'])==$_SESSION['code']) {
    
    
header("Refresh: 2; URL=inicio.php");
    echo 
"Great your going to be redirected to the inicio page";
    
    } elseif (
$_POST['code'] != $_SESSION["code"]) {
    
    
header("Refresh: 2; URL=index.php");
    echo 
"Sorry wrong digits";
    
    } elseif (
$_POST['pass'] != $passw) {
    
    
header("Refresh: 2; URL=index.php");
    echo 
"Sorry wrong password";
    
    } else {
    
    
header("Refresh: 2; URL=index.php");
    echo 
"Sorry nothing typed good";
    
    }
    } 
3-
Código PHP:
session_start();

$conn = mysql_connect("dominio", "usuario", "clave") or die(mysql_error());
mysql_select_db("bd", $conn) or die(mysql_error());

$pass = $_SESSION['norte'];

$ask = "SELECT * FROM tabla WHERE campo=(SHA1('$pass'))";
$resultx = mysql_query($ask) or die (mysql_error());
$rowq = mysql_fetch_array($resultx) or die (mysql_error());

if (
$rowq['campo'] != $pass) {
    
//si no existe, envio a la página de autentificacion
    
header("Location: index.php?=denied_access");
    
//ademas salgo de este script
    
exit();
} 
4-
Código PHP:
include"sessioncode.php"; 
Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<p>welcome</p>
<p><a href="salir.php">salir </a></p>
</body>

</html> 
5-
Código PHP:
session_start();
session_destroy(); 
6-
Código PHP:
session_start();

$codigoaleatorio = 'E3fhIA4dKjm9irQpN1aZgceTUtwLF6XMnkD5BG7YbJlP8qsR2CHWyouOxs';
        
$code = substr($codigoaleatorio, mt_rand(0, strlen($codigoaleatorio)-1), 4);
$text = $code ; 
$_SESSION["code"] = $text; 
$height = 20; 
$width = 50; 
 
$image_p = imagecreate($width, $height); 
$black = imagecolorallocate($image_p, 255, 255, 255); 
$white = imagecolorallocate($image_p, 0, 0, 0); 
$font_size = 11; 
 
imagestring($image_p, $font_size, 5, 2, $text, $white); 
imagejpeg($image_p, null, 80); 

Mi problema es el siguiente la pagina de control de inicio de sesion (punto 2-) no está haciendo lo que le mando, porque será??

Ayuda porfa