©
이 문서에서는 PHP 중국어 웹사이트 매뉴얼 풀어 주다
(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)
yp_cat — Return an array containing the entire map
$domain
, string $map
)Returns all map entries.
domain
The NIS domain name.
map
The NIS map.
Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.
[#1] Nicholas Humfrey [2007-01-22 14:15:31]
yp_cat is lacking in PHP5 - this is a suitable (slow, forking) replacement...
<?php
$handle = popen( 'ypcat passwd.byname', 'r' );
while (($line = fgets($handle, 1024)) !== FALSE) {
list($user,$pass,$uid,$gid,$gcos,$home,$shell) = explode (':', $line);
list($name,$room,$work,$home,$position) = explode (',', $gcos);
## Do Stuff ##
}
pclose( $handle );
?>
[#2] [2006-02-20 03:26:35]
I hope this will userfull to somebody:
function auth_by_nis($login,$password,$nis_domain='-d xxx_nis',$nis_host='-h xxx.it')
{
$output = shell_exec("ypcat $nis_domain $nis_host passwd");
$lines=split("\n",$output);
foreach ($lines as $k=>$v)
{
list($login_nis,$pw_nis)=split(":",$v);
if ($login_nis != $login)continue;
//login trovata: ora si verifica la password
$salt=substr( $pw_nis , 0 ,2);
$pass_cript=crypt($password, $salt);
if($pass_cript == $pw_nis) return 1;
else return 0;
}
return 0;
}