Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung PHP

Mitglied: Lousek

Lousek (Level 2) - Jetzt verbinden

20.01.2008, aktualisiert 26.01.2008, 5758 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
gelöst PHP 7 und LDAP mit Umlauten (3)

Frage von wiesi200 zum Thema PHP ...

PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

PHP
Wie updatet man Php ab auf Windows ? (5)

Frage von rainergugus zum Thema PHP ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

LAN, WAN, Wireless
IP Sec Client legt Netzwerkkarte lahm (12)

Frage von mario87 zum Thema LAN, WAN, Wireless ...