This script checks your LDAP server from the Internet.
Caveats: If you check TLS/SSL, the port will be forced to 636

Please insert a server and its port"; } else if ($_REQUEST[protocol] == "") { echo "

Please select a protocol

"; } else if ($_REQUEST[bind] == "") { echo "

Please select an authentication

"; } else if ($_REQUEST[bind] == "auth" && $_REQUEST[binddn] == "") { echo "

Please insert a Bind-DN

"; } else if ($_REQUEST[bind] == "auth" && $_REQUEST[bindpw] == "") { echo "

Please insert a Bind-PW

"; } else if ($_REQUEST[basedn] == "") { echo "

Please insert a base DN

"; } else { echo "Checking connection to " . $_REQUEST[server] . ":"; error_reporting(0); if ($_REQUEST[tls]) { # with ldaps:// the port's obsolete 'cos it's forced to 636 echo "636: "; $_REQUEST[port] = 636; $ldapconn = ldap_connect("ldaps://$_REQUEST[server]"); } else { echo $_REQUEST[port] . ": "; $ldapconn = ldap_connect("$_REQUEST[server]", $_REQUEST[port]); } ldap_set_option($ldapconn,LDAP_OPT_PROTOCOL_VERSION, $_REQUEST[protocol]); ldap_set_option($ldapconn,LDAP_OPT_TIMELIMIT, 20); if (!$ldapconn) { echo "Connection failed: "; echo ldap_err2str(ldap_errno($ldapconn)); echo ""; } else { echo "Connection successful
"; echo "

Binding "; if ($_REQUEST[bind] == "anon") { echo "anonymously: "; $ldapbind = ldap_bind($ldapconn); } else { echo "with DN " . $_REQUEST[binddn] . ": "; $ldapbind = ldap_bind($ldapconn, $_REQUEST[binddn], $_REQUEST[bindpw]); } if ($ldapbind) { echo "Binding successful

"; echo "Showing first entry in " . $_REQUEST[basedn] . ": "; $ldapsearch = ldap_search($ldapconn, $_REQUEST[basedn], "objectclass=*"); $getentries = ldap_get_entries($ldapconn, $ldapsearch); echo "" . $getentries[1]["dn"] . ""; } else { echo "Bind failed -> "; echo ldap_err2str(ldap_errno($ldapconn)); echo ""; } ldap_unbind($ldapconn); } ldap_close($ldapconn); } } ?>

Server:
Port:>
Protocol: name=protocol value=2>v2
name=protocol value=3>v3
TLS/SSL: name=tls>
Bind: name=bind value=anon>Anonymous
name=bind value=auth>Authenticated
Bind-DN:
Bind-PW:
Base-DN: