PHP 5.5.15 is released

yp_cat

(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5)

yp_catReturn an array containing the entire map

Beschreibung

array yp_cat ( string $domain , string $map )

Returns all map entries.

Parameter-Liste

domain

The NIS domain name.

map

The NIS map.

R├╝ckgabewerte

Returns an array of all map entries, the maps key values as array indices and the maps entries as array data.

add a note add a note

User Contributed Notes 2 notes

up
0
Nicholas Humfrey
7 years ago
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 );
?>
up
0
Anonymous
8 years ago
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;
}
To Top