⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions.php3

📁 RADIUS认证协议
💻 PHP3
字号:
<?phpfunction ldap_xlat($filter,$login,$config){	$string = $filter;	if ($filter != ''){		$string = preg_replace('/%u/',$login,$string);		$string = preg_replace('/%U/',$HTTP_SERVER_VARS["PHP_AUTH_USER"],$string);		$string = preg_replace('/%ma/',$mappings[$http_user][accounting],$string);		$string = preg_replace('/%mu/',$mappings[$http_user][userdb],$string);	}	return $string;}function da_ldap_bind($ds,$config){	if ($ds){		if ($config[ldap_use_http_credentials] == 'yes'){			global $HTTP_SERVER_VARS;			$din = $HTTP_SERVER_VARS["PHP_AUTH_USER"];			$pass = $HTTP_SERVER_VARS["PHP_AUTH_PW"];			if ($config[ldap_map_to_directory_manager] != '' &&			$din == $config[ldap_map_to_directory_manager] &&			$config[ldap_directory_manager] != '')				$din = $config[ldap_directory_manager];		}		if ($config[ldap_use_http_credentials] != 'yes' ||			($din == '' && $pass == '')){			$din = $config[ldap_binddn];			$pass = $config[ldap_bindpw];		}		if (preg_match('/[\s,]/',$din)){	// It looks like a dn			if ($config[ldap_debug] == 'true')				print "<b>DEBUG(LDAP): Bind Request: DN='$din',PASSWD='$pass'</b><br>\n";			return @ldap_bind($ds,"$din","$pass");		}		else{				// It's not a DN. Find a corresponding DN			if ($config[ldap_debug] == 'true')		print "<b>DEBUG(LDAP): Bind Request: DN='$config[ldap_binddn]',PASSWD='$config[ldap_bindpw]'</b><br>\n";			$r=@ldap_bind($ds,"$config[ldap_binddn]",$config[ldap_bindpw]);			if ($r){				$sr=@ldap_search($ds,"$config[ldap_base]", 'uid=' . $din);				$info = @ldap_get_entries($ds, $sr);				$din = $info[0]['dn'];				if ($din != ''){					if ($config[ldap_debug] == 'true')						print "<b>DEBUG(LDAP): Bind Request: DN='$din',PASSWD='$pass'</b><br>\n";					return @ldap_bind($ds,"$din","$pass");				}			}		}	}}function connect2db($config){	$ds=@ldap_connect("$config[ldap_server]");  // must be a valid ldap server!	if ($ds)		$r=@da_ldap_bind($ds,$config);	return $ds;}function get_user_info($ds,$user,$config,$decode_normal,$k){	if ($ds){		$attrs = array('cn');		if ($config[ldap_userdn] == ''){			if ($config[ldap_filter] != '')				$filter = ldap_xlat($config[ldap_filter],$login,$config);			else				$filter = 'uid=' . $login;		}		else			$filter = ldap_xlat($config[ldap_userdn],$login,$config);		if ($config[ldap_debug] == 'true'){			if ($config[ldap_userdn] == '')	print "<b>DEBUG(LDAP): Search Query: BASE='$config[ldap_base]',FILTER='$filter'</b><br>\n";			else	print "<b>DEBUG(LDAP): Search Query: BASE='$filter',FILTER='(objectclass=radiusprofile)'</b><br>\n";		}		if ($config[ldap_userdn] == '')			$sr=@ldap_search($ds,"$config[ldap_base]", $filter,$attrs);		else			$sr=@ldap_read($ds,$filter, '(objectclass=radiusprofile)',$attrs);		$info = @ldap_get_entries($ds, $sr);		$cn = $info[0]["cn"][0];		if ($cn != '' && $decode_normal == 1)			$cn = decode_string($cn,$k);		if ($cn == '')			$cn = '-';		return $cn;	}}function get_user_dn($ds,$user,$config){	if ($ds){		$attrs = array('dn');		if ($config[ldap_userdn] == ''){			if ($config[ldap_filter] != '')				$filter = ldap_xlat($config[ldap_filter],$login,$config);			else				$filter = 'uid=' . $login;		}		else			$filter = ldap_xlat($config[ldap_userdn],$login,$config);		if ($config[ldap_debug] == 'true'){			if ($config[ldap_userdn] == '')	print "<b>DEBUG(LDAP): Search Query: BASE='$config[ldap_base]',FILTER='$filter'</b><br>\n";			else	print "<b>DEBUG(LDAP): Search Query: BASE='$filter',FILTER='(objectclass=radiusprofile)'</b><br>\n";		}		if ($config[ldap_userdn] == '')			$sr=@ldap_search($ds,"$config[ldap_base]", $filter,$attrs);		else			$sr=@ldap_read($ds,$filter, '(objectclass=radiusprofile)',$attrs);		$entry = ldap_first_entry($ds, $sr);		if ($entry)			$dn = ldap_get_dn($ds,$entry);		return $dn;	}}function check_user_passwd($dn,$passwd,$config){	$ds=@ldap_connect("$config[ldap_server]");	if ($ds && $dn != '' && $passwd != ''){		$r = @ldap_bind($ds,$dn,$passwd);		if ($r)			return TRUE;		else			return FALSE;	}	else		return FALSE;	return FALSE;}      function closedb($ds,$config){	if ($ds)		@ldap_close($ds);}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -