Autentificación de web php

Iniciado por Enmanuel99, 4 Agosto 2012, 19:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Enmanuel99

Hola a todos mi primer post, soy medio novato :D perdón si escribo alguna burrada.. Cree una página y quiero que sea privada, me encontré con este código en algún foro:

<?php // acceso 
$username "admin";
$pwd "1234";
if(!isset(
$PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"Zona protegida\"");
Header("HTTP/1.0 401 Unauthorized");
echo 
"Imposibile ejecutar la autorización\n";
exit;
} else {
if ((
$PHP_AUTH_USER == $username) && ($PHP_AUTH_PW == $pwd)) {
echo 
"Autorización ejecutada para $username.";
} else { echo 
"Autorización fracasada.";}
}
?>


Funciona perfecto en localhost, el problema es que al subirla al server gratuito (000webhost.com) me pide el user y password una y otra vez, osea no me deja entrar  :-(.. si alguien pudiera decirme que está pasando estaría agradecido

s00rk

#1
Si no te permite hacerlo de tal forma tambien podrias hacerlo usando SESSION

Código (php) [Seleccionar]

<?php
$user_acceso 
"admin";
$pass_acceso "123";

session_start();
if(isset(
$_POST['user']))
{
    
$_SESSION['usuario'] = $_POST['user'];
    
$_SESSION['clave'] = $_POST['clave'];
    if(
$_SESSION['usuario'] != $user_acceso || $_SESSION['clave'] != $pass_acceso)
    {
        echo 
utf8_decode("Usuario y/o Contrase&#241;a Incorrecta!");
    }
}
if(
$_SESSION['usuario'] != $user_acceso || $_SESSION['clave'] != $pass_acceso)
{       
    
?>

    <form method="post">
    <table>
        <tr><td>Usuario: </td><td><input type="text" name="user" required /></td></tr>
        <tr><td>Clave: </td><td><input type="password" name="clave" required /></td></tr>
    </table>
    <input type="submit" value="Entrar" />
    </form>
    <?
die();
}
?>

<!-- Aqui lo que desees -->

Enmanuel99

Gracias amigo, de esa forma si que funciona..  :)

s00rk

Ahi modifique el codigo hehe ya que tenia error donde puse

if($_SESSION['usuario'] != $user_acceso && $_SESSION['clave'] != $pass_acceso)

era

if($_SESSION['usuario'] != $user_acceso || $_SESSION['clave'] != $pass_acceso)

en ambos, ya con eso funcionaria bien ;D

Enmanuel99

LOL no me había dado cuenta que con cualquier clave entra :S espero que hayas modificado eso

s00rk

Si fue por eso que te comente que cambie el codigo, ya a como lo puse ahi ya esta bien hehe  :xD