#4 Re: file_get_contents y AUTH HTML
acá hay un codigo que te puede servir, habria que modificarlo a gusto. (aclaro que no es mio).
Código PHP:
<?php
/**
* Authenticate a user against a password file generated by Apache's httpasswd
* using PHP rather than Apache itself.
*
* @param string $user The submitted user name
* @param string $pass The submitted password
* @param string $pass_file='.htpasswd' The system path to the htpasswd file
* @param string $crypt_type='DES' The crypt type used to create the htpasswd file
* @return bool
*/
function http_authenticate($user,$pass,$pass_file='.htpasswd',$crypt_type='DES'){
// the stuff below is just an example useage that restricts
// user names and passwords to only alpha-numeric characters.
if(!ctype_alnum($user)){
// invalid user name
return FALSE;
}
if(!ctype_alnum($pass)){
// invalid password
return FALSE;
}
// get the information from the htpasswd file
if(file_exists($pass_file) && is_readable($pass_file)){
// the password file exists, open it
if($fp=fopen($pass_file,'r')){
while($line=fgets($fp)){
// for each line in the file remove line endings
$line=preg_replace('`[\r\n]$`','',$line);
list($fuser,$fpass)=explode(':',$line);
if($fuser==$user){
// the submitted user name matches this line
// in the file
switch($crypt_type){
case 'DES':
// the salt is the first 2
// characters for DES encryption
$salt=substr($fpass,0,2);
// use the salt to encode the
// submitted password
$test_pw=crypt($pass,$salt);
break;
case 'PLAIN':
$test_pw=$pass;
break;
case 'SHA':
case 'MD5':
default:
// unsupported crypt type
fclose($fp);
return FALSE;
}
if($test_pw == $fpass){
// authentication success.
fclose($fp);
return TRUE;
}else{
return FALSE;
}
}
}
fclose($fp);
}else{
// could not open the password file
return FALSE;
}
}else{
return FALSE;
}
}
?>
Otra forma diferente pordía ser con el soporte nativo de php: php_auth_user / php_auth_pw, son dos formas diferentes aunque hay muchas otras.
Y coincido con CloudFFVII , lo mejor es hacerlo vía FTP sin complicarse tanto.