Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* CHANGE THESE */
- $ldapBaseDomain = 'o=mybase';
- $ldapServer = 'ldaps://myipaddress';
- $ldapport = 636;
- $ldapUsername = 'cn=search,ou=mystaff,ou=myoffice,o=mybase';
- $ldapPassword = 'somapassword';
- /* CHANGE THESE */
- if (!empty($_POST['username']) && !empty($_POST['password'])) {
- // filter out ldap wildcards
- if (!$_POST['username']) {
- die('Please enter a valid username');
- }
- if (!$ldapConnection = @ldap_connect($ldapServer, $ldapport)) {
- die('Could not connect to ldap server');
- }
- if (!@ldap_bind($ldapConnection, $ldapUsername, $ldapPassword)) {
- die('Could not bind to ldap server');
- }
- $attributes = array('dn');
- $username = $_POST['username'];
- // if (!$ldapSearch = @ldap_search($ldapConnection, $ldapBaseDomain, 'cn=' . $_POST['username'])) {
- if (!$ldapSearch = @ldap_search($ldapConnection, $ldapBaseDomain, '(&(objectClass=user)(cn= '. $_POST['username'] .' ))' , $attributes)) {
- die('Could not complete ldap search');
- }
- $ldapCount = @ldap_count_entries($ldapConnection, $ldapSearch);
- if (!$ldapCount) {
- die('account not found');
- } else {
- if (!$ldapEntry = @ldap_get_entries($ldapConnection, $ldapSearch)) {
- die('Could not get ldap entry');
- }
- $distinguishedName = $ldapEntry[0]['dn'][0];
- print_r($ldapEntry);
- if (empty($distinguishedName)) {
- die('Account information not found');
- }
- if(!@ldap_bind($ldapConnection, $distinguishedName, $_POST['password'])) {
- print_r($_POST['password']);
- print_r($distinguishedName);
- die('Password Incorrect');
- }
- echo ' <h1>Logged in successfully</h1>
- <h2>User Details</h2>';
- echo '<pre>' . print_r($ldapEntry[0], true) . '</pre>';
- }
- } else {
- echo ' <form method="post">
- Username: <input name="username"><br>
- Password: <input name="password" type="password"><br>
- <input type="submit" value="login">
- </form>';
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment