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, 5810 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 MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

PHP
PHP 7 und LDAP mit Umlauten
gelöst Frage von wiesi200PHP3 Kommentare

Hallo, ich bastle für unsere Firma an einer kleinen Webseite die Daten aus unserem ERP System anzeigen kann. Zur Umgebung CentOS 7 ...

Batch & Shell
Otrs Agent und Customer Login per LDAP
Frage von MichaelW84Batch & Shell2 Kommentare

Hallo zusammen, ich habe meinem OTRS eine LDAP Authentifizierung für Agents und Customer hinzugefügt und diese funktioniert auch grundsätzlich ...

PHP

PHP - LDAP l Usergruppen auslesen, vergleichen, zulassen

Frage von ThoomaasPHP4 Kommentare

Hallo alle zusammen! :-) Ich habe mal wieder ein Problem mit meinem PHP Script Vielleicht kann mir wer helfen. ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 1 TagWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 1 TagHumor (lol)8 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 1 TagSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 2 TagenInternet6 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet22 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office19 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...

Batch & Shell
Batchdatei für das Erstellen eines Unterordner bei Vorhandensein eines bestimmten Ordnernamens
Frage von KarstenPaBatch & Shell14 Kommentare

Hallo zusammen , ich suche nach einer Möglichkeit, ein freigegebenes Laufwerk nach einem bestimmten Ordnernamen ("Schriftverkehr") zu durchsuchen, und ...