Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2010, 14:53
tato_RC
 
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 9 meses
Puntos: 0
Formulario de login PHP para htaccess

Hola, estoy desarrollando una aplicacion web, en la misma tengo 2 directorios privados a los que les restringi el acceso a traves de .htaccess yun archivo de texto con un user y un pass, para acceder a los mismos en otra carpeta. Tb tengo una carpeta publica donde tengo una pagina de login que trabaja contra una BD.
Lo que quiero hacer es que, a través de esta página de login, si el user y pass ingresados son correctos, me permitan acceder al contenido de las carpetas privadas sin que aparezca el popup de login de los navegadores. Hasta ahora pude lograr casi todo, pero me sigue enviando la ventanita de popup.

codigo php
Código PHP:
 require('config.php');
 require(
'config_dp.php');

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];


    
$sql="SELECT * FROM usuarios WHERE alias='".$myusername."' and clave='".md5($mypassword)."'";

    
$result=mssql_query($sql);

    
$count=mssql_num_rows($result);

    if(
$count==1){

    
session_register("myusername");
    
session_register("mypassword");

  
$PHP_AUTH_USER CLAVEARCHIVOTXT;
  
$PHP_AUTH_PW PASSARCHIVOTXT;

  if (!isset(
$PHP_AUTH_USER)) $PHP_AUTH_USER $_COOKIE['username'];
  if (!isset(
$PHP_AUTH_PW)) $PHP_AUTH_PW $_COOKIE['password'];

  
$auth false// Assume user is not authenticated

  
if (isset( $PHP_AUTH_USER ) && isset($PHP_AUTH_PW)) {

      
// Read the entire file into the variable $file_contents

      
$filename 'c:/ServidorWeb/passwd.txt';
      
$fp fopen$filename'r' );
      
$file_contents fread$fpfilesize$filename ) );
      
fclose$fp );

      
// Place the individual lines from the file contents into an array.

      
$lines explode "\n"$file_contents );

      
// Split each of the lines into a username and a password pair
      // and attempt to match them to $PHP_AUTH_USER and $PHP_AUTH_PW.

      //foreach ( $lines as $line ) {

          
list( $username$password ) = explode':'$lines[0] );

          if ( 
$username == "$PHP_AUTH_USER" ) {

              if ( 
$password == $PHP_AUTH_PW ) {

              
$auth true;
              
setcookie('username',$PHP_AUTH_USER,time()+36000);
              
setcookie('password',$PHP_AUTH_PW,time()+36000);

              }

          }

  }

      }


  if ( ! 
$auth ) {

    
header'WWW-Authenticate: Basic realm="Private"' );
    
header'HTTP/1.0 401 Unauthorized' );
    echo 
'Authorization Required.';
    exit;

  }else{
    
header("location:../private/index.html");
  } 
archivo .htaccess

Código:
AuthType Basic 
AuthName "Making Doors Open" 

php_value auto_prepend_file "../public/checklogin2.php" 

<LIMIT GET POST PUT> 
require valid-user 
</LIMIT>
Alguna idea de donde le puedo estar errando.