Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Login mit PHP über LDAP - Verbesserungsvorschläge

Mitglied: Lousek

Lousek (Level 2) - Jetzt verbinden

20.01.2008, aktualisiert 26.01.2008, 5784 Aufrufe, 2 Kommentare

Hallo Forum.

Also, wie der Titel es eigentlich schon sagt:

Habe es mit meinem jungen PHP-Wissen geschafft, ein Login über LDAP zum laufen zu bringen.

Jetzt ist das garantiert noch nicht brauchbar, nehm ich an, wäre über Verbesserungsvorschläge echt froh:

Habe die "Überprüfung" in eine Funktion geschrieben:
01.
function login_complete ($ldap_server) 
02.
03.
      if((isset($_COOKIE['cookie_username']) AND ($_COOKIE['cookie_passwort']))) { 
04.
                $username = $_COOKIE['cookie_username']; 
05.
                $passwort = $_COOKIE['cookie_passwort']; 
06.
                $check_positive = 1; 
07.
      } else { 
08.
               if((isset($_POST['username']) OR ($_POST['passwort']))) { 
09.
                         if(empty($_POST['username']) OR empty($_POST['passwort'])) { 
10.
                                  $array["login_complete"] = "Bitte fuellen Sie alle Felder aus. <a href='login.php'>Login</a><br>"; 
11.
                         } else {                              
12.
                                  if((isset($_POST['username']) AND ($_POST['passwort']))) { 
13.
                                            $username = $_POST['username']; 
14.
                                            $passwort = $_POST['passwort']; 
15.
                                            $check_positive = 1; 
16.
                                  }  
17.
18.
                } else { 
19.
                          $array["login_complete"] = "Sie sind nicht eingeloggt: ";       
20.
21.
22.
 
23.
 
24.
       
25.
            if($check_positive==1) { 
26.
      //----------------------------------------Login und Bind----------------------------------------       
27.
      if (!($connect=@ldap_connect($ldap_server))) { 
28.
            $array["login_complete"] = "Could not connect to ldap server<br>"; 
29.
      } else { 
30.
31.
       
32.
      // Needed for W2003 AD.. 
33.
      ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); 
34.
      ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); 
35.
       
36.
      if (!($bind=@ldap_bind($connect, $username, $passwort))) { 
37.
            $array["login_complete"] = "Login oder Passwort falsch. <a href='login.php'>Login</a><br>"; 
38.
      } else { 
39.
            setcookie("cookie_passwort", $passwort, time()+(60*60)); 
40.
            setcookie("cookie_username", $username, time()+(60*60)); 
41.
            $array["login_check"] = true; 
42.
      }          
43.
44.
            $array["username"] = $username; 
45.
            $array["passwort"] = $passwort; 
46.
            $array["connect"] = $connect; 
47.
            return $array; 
48.
}       
49.
 
Habe es mit Cookies gelöst, die Werte gebe ich in einem Array zurück, dass ich sie nachher z.B. auch für ldap_search benutzen kann.

An jedem "Seitenanfang" rufe ich dann diese Funktion auf, und "setzte" den Inhalt mit:
01.
$login = login_complete ($ldap_server); 
02.
$login_complete = $login["login_complete"]; 
03.
$username = $login["username"]; 
04.
$passwort = $login["passwort"]; 
05.
$login_check = $login["login_check"]; 
06.
$connect = $login["connect"]; 
07.
echo $login_complete; 
08.
 
09.
if($login_check==true) { 
10.
 
11.
//Inhalt wenn eingeloggt 
12.
 
13.
} else { 
14.
 
15.
//Inhalt wenn nicht eingeloggt 
16.
 
17.
}
Das if($login_check==true) kann ja irgendwo stehen.

Bin froh über alle Verbesserungsvorschläge.

Greetz, Lousek

[Edit masterG 20.01.2008 12:08]:
Ich hab mir erlaubt die codeschnippsel in einen Codeblock zu legen
Mitglied: Lousek
20.01.2008 um 21:34 Uhr
Jeps, danke, sry, habe sonst noch nicht code hier geschrieben? muss ich einfach <code type="php"> schreiben?

Lousek
Bitte warten ..
Mitglied: masterG
26.01.2008 um 11:19 Uhr
ganz genau

masterG
Bitte warten ..
Ähnliche Inhalte
PHP
PHP LDAP Login
gelöst Frage von schneerunzelPHP11 Kommentare

Hallo Zusammen, ich brauche eine Website auf der man sich mit seinen LDAP Account anmelden kann und dann eine ...

PHP
PHP LDAP Login Gruppen Abfrage
gelöst Frage von schneerunzelPHP7 Kommentare

Hallo Zusammen ich habe dieses PHP Script: Dieses Script stammt von einem anderen User aus diesem Forum Unschwer zu ...

Windows Server
LDAP in PHP
Frage von pipoomaWindows Server10 Kommentare

Halloo zusammen, ich habe Aufgabe von meinem Chef bekommt und zwar Single Sign-On. Wir entwickeln im Haus einen Portal ...

Linux Userverwaltung
Proxmox mit LDAP Login und openLDAP
Frage von spcvltLinux Userverwaltung

Hallo, ich habe einen openLDAP Server auf einem vServer installiert und würde gerne die LDAP Login funktion von Proxmox ...

Neue Wissensbeiträge
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 56 MinutenPeripheriegeräte

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 1 TagWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 1 TagWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 3 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Humor (lol)
Freitagsfrage: Was tun, wenn der Admin der DAU ist?
Frage von VoiperHumor (lol)21 Kommentare

Moin Zusammen, Eine nicht ganz ernst gemeinte Frage an die Außendienstler unter uns. Zusammenfassung: Ein Inhouse Admin ruft bei ...

Exchange Server
Exchange Backup 10 Jahre Aufbewahrung
Frage von arccosExchange Server20 Kommentare

Hallo zusammen. Aktuell beschäftigen mich ein paar Fragen zum Thema Office365/ Exchange. 1.10 Jahre Aufbewahrungspflicht sicherstellen 2.Kann man als ...

Windows Netzwerk
LTE Modul - Kein Internet trotz Verbindung
Frage von killtecWindows Netzwerk18 Kommentare

Hallo, ich habe hier ein Dell 7390 2-in-1 mit W10 Pro wo ich nachträglich eine LTE-Karte (Original Dell DW5811e ...

Humor (lol)
Windows 10 - immer für Überraschungen gut
gelöst Frage von HenereHumor (lol)18 Kommentare

Eben nach (beim) installieren der neuesten Updates für 1803 :-) Und sorry fürs Handyfoto, aber der musste sein. Nach ...