Current time: 12-23-2024, 08:52 PM Hello There, Guest! (LoginRegister)


Post Reply 
function loginHTTP no funciona en ispcp
Author Message
Piradoxlanieve Offline
Junior Member
*

Posts: 246
Joined: Jul 2009
Reputation: 0
Post: #1
function loginHTTP no funciona en ispcp
Hola estoy probando el codigo este, cuya funcion es que al entrar a una web me pida un login y un pass, pero nada que en ispcp no lo hago funcionar.
Pongo los datos del user y la pass y nada vuelve a pedirlo y nunca se logea

he probado con safe mode y register globals en el php.ini pero nada ayuditaBig Grin

Gracias.
<?php
(){
header('WWW-Authenticate: Basic realm="Introduce los datos Big Grin"');
header('HTTP/1.0 401 Unauthorized');
die('<center>Para tener acceso debe iniciar sesion.<hr size=1><a href="'.$_SERVER['PHP_SELF'].'">Iniciar Sesion</a></center>');
}

$adminname = 'prueba'; // Usuario
$adminpass = 'prueba'; // Contraseña
$username = $_SERVER['PHP_AUTH_USER'];
$userpass = $_SERVER['PHP_AUTH_PW'];
if ( $username != $adminname || $userpass != $adminpass ) {
loginHTTP();
die();
}
?>
04-08-2010 05:26 AM
Find all posts by this user Quote this message in a reply
kilburn Offline
Development Team
*****
Dev Team

Posts: 2,182
Joined: Feb 2007
Reputation: 34
Post: #2
RE: function loginHTTP no funciona en ispcp
Depende de si usas fastcgi o fcgid, tienes que modificar:

- Para fcgid, añadir la siguiente linea en /etc/apache2/mods-enabled/fcgid_ispcp.conf:
Code:
PassHeader AUTHORIZATION

- Para fastcgi, añadir la siguiente opción en la directiva FastCgiConfig del fichero /etc/apache2/mods-enabled/fastcgi_ispcp.conf, (asegurate que la linea anterior termina con "\"):
Code:
-pass-header Authorization

Luego añade esto al principio de todo de tu script:
PHP Code:
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = 
    
explode(':' base64_decode(substr($_SERVER['AUTHORIZATION'], 6))); 

Reinicia apache y ale, a correr!
(This post was last modified: 04-08-2010 05:46 AM by kilburn.)
04-08-2010 05:45 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Piradoxlanieve Offline
Junior Member
*

Posts: 246
Joined: Jul 2009
Reputation: 0
Post: #3
RE: function loginHTTP no funciona en ispcp
Buenas uso fcgid he añadido
Code:
IfModule mod_fcgid.c>
PassHeader AUTHORIZATION
  AddHandler fcgid-script .php .php5
  SocketPath /var/lib/apache2/fcgid/sock
  IdleTimeout 600
  IdleScanInterval 120
...................................
Fichero entrada.php
PHP Code:
<?php
function loginHTTP(){
header('WWW-Authenticate: Basic realm="Introduce los datos"');
header('HTTP/1.0 401 Unauthorized');
die(
'<center>Para tener acceso debe iniciar sesion.<hr size=1><a href="'.$_SERVER['PHP_SELF'].'">Iniciar Sesion</a></center>');
}

$adminname 'miguelito'// Usuario
$adminpass 'prueba'// Contraseña
$username $_SERVER['PHP_AUTH_USER'];
$userpass $_SERVER['PHP_AUTH_PW'];
if ( 
$username != $adminname || $userpass != $adminpass ) {
loginHTTP();
die();
}
?>

Fichero modificar.php
PHP Code:
<?php
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = 
    
explode(':' base64_decode(substr($_SERVER['AUTHORIZATION'], 6)));
require(
"entrada.php"); ?>

<center>
<blockquote>
  <p>INTRODUCCE LO QUE QUIERES MODIFICAR</p>
</blockquote>
<p>
  <?php
$fichero 
"texto.txt";
$texto $_POST["texto"];
if(
$texto != ''){
if(
$fp fopen($fichero,"w+")){
fwrite($fp,stripslashes($texto));
echo 
'Archivo modificado<br><br>';
}
fclose($fp);
}
$fp fopen($fichero,"r"); 
$contenido fread ($fpfilesize ($fichero));
fclose($fp);

echo 
"<textarea name=\"texto\" cols=\"50\" rows=\"5\">$contenido</textarea>";


?>
<p>
  <?php
  
echo '<input type="Submit" value="Guardar"></form>';
?>
</center> 

Algo tengo mal ya que no me logueaSad perdon por mi torpeza

PD el apache esta reiniciado.

Gracias Kilburn
(This post was last modified: 04-08-2010 06:50 AM by Piradoxlanieve.)
04-08-2010 06:49 AM
Find all posts by this user Quote this message in a reply
kilburn Offline
Development Team
*****
Dev Team

Posts: 2,182
Joined: Feb 2007
Reputation: 34
Post: #4
RE: function loginHTTP no funciona en ispcp
1. Prueba con "PassHeader Authorization" (notese la falta de mayúsculas)
2. Si tampoco va, vuelve a dejarlo en mayúsculas y cambia el cacho de php por:
PHP Code:
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = 
    
explode(':' base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); 

Recuerda reiniciar apache en cada cambio....
04-08-2010 08:15 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Piradoxlanieve Offline
Junior Member
*

Posts: 246
Joined: Jul 2009
Reputation: 0
Post: #5
RE: function loginHTTP no funciona en ispcp
Nada de nada jejej, he probado ambas soluciones y nada.
Code:
PassHeader AUTHORIZATION
Eso va dentro IfModule mod_fcgid.c>

aver si va ir fuera jejeje.


Gracias por tu interes hacia mis problemas, Gracias

Kilburn
04-08-2010 05:14 PM
Find all posts by this user Quote this message in a reply
kilburn Offline
Development Team
*****
Dev Team

Posts: 2,182
Joined: Feb 2007
Reputation: 34
Post: #6
RE: function loginHTTP no funciona en ispcp
Dentro o fuera, da igual (aunque dentro y después de los otros parámetros queda más ordenadito Tongue). La cosa no tiene más. A mi me funciona perfectamente con esta prueba:
PHP Code:
<?php
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
    
explode(':' base64_decode(substr($_SERVER['AUTHORIZATION'], 6)));

function 
loginHTTP(){
header('WWW-Authenticate: Basic realm="Introduce los datos"');
header('HTTP/1.0 401 Unauthorized');
die(
'<center>Para tener acceso debe iniciar sesion.<hr size=1><a href="'.$_SERVER['PHP_SELF'].'">Iniciar Sesion</a></center>');
}

$adminname 'miguelito'// Usuario
$adminpass 'prueba'// Contraseña
$username $_SERVER['PHP_AUTH_USER'];
$userpass $_SERVER['PHP_AUTH_PW'];
if ( 
$username != $adminname || $userpass != $adminpass ) {
loginHTTP();
die();
}

echo 
'<h1>It works!</h1>'
04-08-2010 08:07 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)