O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

PHP programmieren unter Windows

Book Description

Mit PHP 5.3 hat die Zusammenarbeit von Microsoft mit dem PHP-Entwicklerteam einen Meilenstein erreicht. Das PHP-Windows-Team hat PHP für die Windows-Plattform optimiert und die Schnittstellen zu den im Buch beschriebenen Microsoft-Produkten wurden ständig verbessert. So ist PHP 5.3 das leistungsstärkste PHP, das es je für Windows gab. Dieses Buch zeigt praxisbezogen, wie Sie PHP mit IIS sicher und leistungsstark betreiben, benutzerfreundliche URLs einrichten, Microsoft SQL Server effizient nutzen, auf Benutzerdaten in Active Directory zugreifen und in Exchange Server Besprechungen anlegen, E-Mails versenden und Kontaktdaten pflegen können. Zahlreiche Beispiele und Schritt-für-Schritt-Anleitungen helfen Ihnen dabei, einen leichten Einstieg in die Themen zu finden bzw. von anderen Plattformen umzusteigen,

Table of Contents

  1. A Note Regarding Supplemental Files
  2. Vorwort
  3. Einleitung
    1. PHP und Microsoft
    2. Ziel des Buchs und Voraussetzungen
    3. Aufbau des Buchs
    4. Support für dieses Buch
    5. Kontakt zum Autor
  4. I. Internetinformationsdienste (IIS)
    1. 1. Einrichten der Arbeitsumgebung
      1. IIS einrichten
        1. Installieren mithilfe des Server-Managers
        2. Installieren von der Befehlszeile aus
      2. PHP einrichten
        1. PHP installieren
        2. Verfügbare PHP-Module
      3. Konfigurieren von PHP in IIS
        1. Konfigurieren mit IIS-Manager
        2. Konfigurieren von der Befehlszeile aus
      4. Einrichten mit dem Webplattform-Installer
        1. Einrichten des Webplattform-Installer
        2. Einrichten von IIS und PHP
        3. Überprüfen der PHP-Installation
      5. Sichern der Konfiguration
      6. Eine erste Beispielapplikation
      7. Remotezugriff
      8. Zusammenfassung
    2. 2. IIS-Architektur
      1. Sites
        1. Anlegen einer neuen Site
          1. Anlegen einer Site mit IIS-Manager
          2. Anlegen einer Site von der Befehlszeile aus
        2. Testen der neu eingerichteten Site
        3. Hinzufügen weiterer Bindungen
          1. Hinzufügen von Bindungen mit IIS-Manager
          2. Hinzufügen von Bindungen von der Befehlszeile aus
        4. Verwalten der Website
          1. Mit IIS-Manager
          2. Von der Befehlszeile aus
      2. Anwendungen
        1. Pfade und Ordner
        2. Anlegen einer neuen Anwendung
          1. Anlegen einer Anwendung mit IIS-Manager
          2. Anlegen einer Anwendung von der Befehlszeile aus
        3. Ändern der Einstellungen
      3. Virtuelles Verzeichnis
        1. Anlegen mit IIS-Manager
        2. Anlegen von der Befehlszeile aus
      4. Ablauf einer HTTP-Anforderung
        1. Ablauf im Überblick
        2. Ablauf im Anwendungsprozess
      5. Module
      6. Anwendungspools
        1. Anlegen mit IIS-Manager
        2. Anlegen von der Befehlszeile aus
        3. Identität des Anwendungspools
          1. Festlegen der Identität mit IIS-Manager
          2. Festlegen der Identität von der Befehlszeile aus
      7. FastCGI
        1. Funktionsweise im Vergleich zu CGI
        2. FastCGI im Vergleich zu ISAPI
      8. Zusammenfassung
    3. 3. Konfigurieren von IIS
      1. Konfigurationsdateien
        1. Globale Konfiguration
        2. Verteilte Konfiguration
      2. Struktur der Konfiguration
        1. Abschnitte und Abschnittsgruppen
        2. Elemente und Konfigurationsauflistungen
        3. Auslagern und Einbinden von Abschnitten
        4. Konfigurations-Editor
      3. Schema und configSections
      4. Konfigurieren von Pfaden mit Location
        1. Konfigurieren mit IIS-Manager
        2. Konfigurieren von der Befehlszeile aus
      5. Sites, Anwendungen und Verzeichnisse
        1. Sites
          1. Definition einer einzelnen Site
          2. Bindungen
        2. Anwendungen
        3. Virtuelle Verzeichnisse
      6. Sperren der Konfiguration
        1. Sperren mittels configSections
        2. Sperren und Freigeben mittels Location
          1. Setzen der Rechte für Abschnitte
          2. Setzen der Rechte für einzelne Einstellungen
          3. Beispiel: lockAttributes
          4. Beispiel: lockElements
          5. Beispiel: lockItem
        3. Sperren und Freigeben mit appcmd
        4. Sperren und Freigeben mit IIS-Manager
          1. Sperren und Freigeben von Abschnitten
          2. Sperren und Freigeben von Features
      7. Zusammenfassung
    4. 4. Konfigurieren von PHP
      1. Konfigurieren von PHP
        1. Erkennen von Konfigurationsänderungen
        2. Konfigurieren mit IIS-Manager
          1. Konfigurieren von der Befehlszeile aus
        3. Pfad- und hostabhängige Konfiguration in php.ini
        4. Konfiguration über .user.ini
        5. Konfiguration über die Windows-Registrierung
        6. Konfiguration per FastCGI-Anwendung
      2. Festlegen des Standarddokuments
        1. Festlegen des Standarddokuments mit IIS-Manager
        2. Festlegen von der Befehlszeile aus
        3. Definieren direkt in der Konfiguration
      3. Anforderungslimits
        1. Konfigurieren mit IIS-Manager
        2. Konfigurieren von der Befehlszeile aus
        3. Konfigurieren direkt in der Konfigurationsdatei
      4. Zeitlimits bei der Anforderungsabarbeitung
        1. PHP-Beschränkungen
        2. FastCGI-Beschränkungen
          1. Konfigurieren mit IIS-Manager
          2. Konfigurieren von der Befehlszeile aus
      5. Sitzungsspeicher
      6. Einrichten der PHP-Syntaxhervorhebung
        1. Konfigurieren mit IIS-Manager
        2. Konfigurieren von der Befehlszeile aus
      7. Einrichten unterschiedlicher PHP-Versionen
        1. Installieren der neuen PHP-Version
        2. Konfigurieren der Handlerzuordnung
          1. Konfiguration mit IIS-Manager
          2. Konfiguration von der Befehlszeile aus
        3. Konfigurieren der FastCGI-Anwendung
          1. Konfigurieren mit IIS-Manager
          2. Konfigurieren von der Befehlszeile aus
        4. Testen
      8. Einrichten unterschiedlicher PHP-Konfigurationen
      9. Zusammenfassung
    5. 5. Sicherheit
      1. Strukturieren der Anwendung
        1. Stammordner oder virtuelles Verzeichnis
          1. Anlegen im Stammordner
          2. Anlegen über virtuelles Verzeichnis
        2. Bestimmen der ausführbaren Dateien
          1. Konfigurieren der Handlerzuordnung
          2. Konfigurieren der Anforderungsfilterung
          3. PHP-Skripts im Stammordner des öffentlichen Bereichs
      2. PHP-Konfiguration
      3. Benutzerauthentifizierung
        1. Einrichten mit IIS-Manager
        2. Einrichten von der Befehlszeile aus
        3. Windows-Authentifizierung und Hostnamen
          1. Lokale Authentifizierung
          2. Authentifizierung gegen Active Directory
        4. Abfragen der Authentifizierung in PHP
      4. Identität und Zugriffsrechte
        1. Identität des Anwendungspools
        2. Pfadanmeldeinformation
        3. Identität des anonymen Benutzers
        4. Sichern der PHP-Anwendung
      5. Autorisierungsregeln
        1. Definieren der Regeln mit IIS-Manager
        2. Definieren der Regeln von der Befehlszeile aus
      6. Anforderungsfilterung
        1. Definieren allgemeiner Einstellungen
          1. Anforderungslimits
          2. Zeichenfilterung
          3. Setzen der Einstellungen mit IIS-Manager
          4. Setzen der Einstellungen von der Befehlszeile aus
        2. Filtern von Dateinamenerweiterungen
          1. Setzen der Einstellungen mit IIS-Manager
          2. Setzen der Einstellungen von der Befehlszeile aus
        3. Filtern über Regeln
          1. Erstellen der Filterregeln mit IIS-Manager
          2. Bearbeiten der Filterregeln von der Befehlszeile aus
      7. Verschlüsselte Verbindungen (HTTPS)
        1. Erstellen von Schlüssel und Zertifikat
        2. Einrichten der verschlüsselten Verbindung
          1. Einrichten der Bindung
          2. SSL-Einstellungen
        3. Erstellen eines Benutzerzertifikats
        4. Abfragen der Informationen mit PHP
        5. Authentifizierung mit Clientzertifikaten
          1. Installieren der notwendigen Rollendienste
          2. Aktivieren der Clientzertifikatzuordnung-Authentifizierung
      8. Zusammenfassung
    6. 6. Caching
      1. Zwischenspeichern im Web
        1. Zwischenspeichern für eine begrenzte Dauer
          1. Expires-Header
          2. max-age-Anweisung
        2. Veränderliche Inhalte
          1. Veränderungsdatum
          2. Entity-Tag
        3. Bedingungen für die Zwischenspeicherung
        4. Setzen der Header mit IIS
          1. Setzen der Header mit IIS-Manager
          2. Setzen der Header von der Befehlszeile aus
          3. Konfigurationselemente
      2. Ausgabezwischenspeicher
        1. Konfiguration mit IIS-Manager
        2. Konfiguration von der Befehlszeile aus
        3. Konfigurationselemente
      3. WinCache-PHP-Erweiterung
        1. Einrichten der WinCache-Erweiterung
          1. Manuelle Installation
          2. Installation über den Webplattform-Installer
        2. PHP-Opcode und -Dateicache
          1. Konfiguration
          2. Statusinformationen
        3. Session-Handler
        4. Benutzercache
      4. Zusammenfassung
    7. 7. URL Rewrite
      1. Einrichten von URL Rewrite
        1. Manuelle Installation
        2. Installieren mit Webplattform-Installer
      2. Vordefinierte Variablen
        1. CGI-Variablen
        2. IIS- und PHP-Variablen
        3. Zusammenführendes PHP-Skript
      3. Evaluierung von Regeln
        1. Aktionstypen
        2. Hierarchie und URL-Pfade
        3. Zeitpunkt der Evaluierung
      4. Erstellen von Regeln
        1. Erstellen von Umleitungsregeln
          1. Ablauf
          2. Hinzufügen einer Umleitungsregel
        2. Erstellen von Umschreibregeln
          1. Ablauf
          2. Hinzufügen einer Umschreibregel
        3. Weitere Aktionstypen
          1. Benutzerdefinierte Antwort
          2. Abbruch
          3. Keine
        4. Erstellen von Regeln mithilfe von Assistenten
          1. Benutzerfreundliche URL
          2. Anforderungsblockierung
      5. Umschreibungszuordnungen
        1. Erstellen einer Umschreibungszuordnung
        2. Erstellen einer zugehörigen Regel
      6. Regeln im Detail
        1. Muster
          1. Platzhalter
          2. Reguläre Ausdrücke
          3. Testen von Mustern
        2. Bedingungen
          1. Hinzufügen und Bearbeiten von Bedingungen
          2. Rückverweise
        3. Aktionen
          1. Variablen
          2. Funktionen
      7. XML-Konfiguration
        1. URL Rewrite
        2. Regeln
        3. Bedingungen
        4. Aktionen
        5. Umschreibungszuordnungen
      8. Beispiele
        1. Benutzerfreundliche URL
        2. Kanonischer Hostname
        3. Mehrsprachige Seiten
        4. Kanonische Benutzerverzeichnisse
        5. Verhindern des Einbindens von Grafiken auf fremden Sites
        6. Umleiten auf HTTPS
      9. Konvertieren von Apache mod_rewrite
      10. Zusammenfassung
    8. 8. Fehlermeldungen und Fehlersuche
      1. Ausführliche Fehlermeldungen
        1. Deaktivieren kurzer Fehlermeldungen in Internet Explorer
        2. Aktivieren ausführlicher Fehlermeldungen
        3. Ausgeben von PHP-Fehlern
      2. Ablaufverfolgung
        1. Einrichten
        2. Aktivieren der Ablaufverfolgung
          1. Aktivieren mit IIS-Manager
          2. Aktivieren von der Befehlszeile aus
        3. Konfigurieren von Protokollierungsregeln
          1. Konfigurieren mit IIS-Manager
          2. Konfigurieren von der Befehlszeile aus
        4. Ablaufverfolgungseinträge
      3. PHP-Fehlermeldungen
        1. Ausgabe auf STDERR
        2. PHP-Meldungen in der Ablaufverfolgung
        3. FastCGI und STDERR
      4. Fehlersuche bei Serverproblemen
        1. Server nicht erreichbar
        2. PHP-Skripts werden nicht ausgeführt
      5. Zusammenfassung
  5. II. SQL Server
    1. 9. SQL Server einrichten
      1. Installieren von SQL Server
        1. Installieren von SQL Server 2008 R2
          1. Installieren von .NET Framework
          2. Installieren von SQL Server 2008 R2
        2. Installieren von SQL Server Express
          1. Manuelle Installation
          2. Installation mit dem Webplattform-Installer
        3. Installieren der SQL Server-PHP-Erweiterung
          1. Manuelle Installation
          2. Installieren mit dem Webplattform-Installer
      2. SQL Server-Tools
        1. SQL Server Management Studio
        2. sqlcmd – Tool für die Befehlszeile
        3. T-SQL-Batch
      3. Konfigurieren für Remotezugriff
        1. Aktivieren des TCP/IP-Protokolls
        2. Freischalten von Zugriffen in der Windows-Firewall
      4. Installieren der Beispieldatenbank
      5. Migrieren von MySQL-Datenbanken
        1. Installieren des Migrationsassistenten
          1. Installieren des MySQL-ODBC-Treibers
          2. Installieren des SSMA
          3. Registrieren des SSMA
        2. Migrieren einer MySQL-Datenbank
      6. Zusammenfassung
    2. 10. Datenbanken und Tabellen
      1. Datenbanken
        1. Systemdatenbanken
        2. Aufbau einer Datenbank
        3. Erzeugen von Datenbanken
          1. Angabe von Dateien und Dateigruppen
          2. Beispiele
          3. Datenbank mit Standardeinstellungen
          4. Datenbank mit alternativer Sortierung
          5. Datenbank mit Dateigruppen
          6. Anlegen einer Datenbank mit SSMS
        4. Löschen einer Datenbank
        5. Erstellen eines Snapshots
          1. Beispiel
          2. Zurücksetzen der Datenbank
          3. Löschen eines Snapshots
      2. Datentypen
        1. Numerische Datentypen
        2. Zeichenfolgen und Binärdaten
          1. Sortierung und Codepage
        3. Datum und Uhrzeit
        4. Andere Datentypen
      3. Schemas und Objektnamen
        1. Objektnamen
        2. Erzeugen von Schemas
        3. Löschen von Schemas
      4. Tabellen
        1. Erstellen von Tabellen
          1. Definition der Spalten
          2. Erstellen von Tabellen mit SSMS
        2. Löschen von Tabellen
      5. Schlüssel und Indizes
        1. Primärschlüssel
          1. Definieren des Primärschlüssels beim Anlegen der Tabelle
          2. Ändern des Primärschlüssels
          3. Definieren des Primärschlüssels mit SSMS
        2. Fremdschlüssel
          1. Definition von Fremdschlüsseln
          2. Auf Fremdschlüsseln basierende Aktionen
          3. Definieren von Fremdschlüsseln mit SSMS
        3. Indizes
          1. Anlegen eines Index
          2. Anlegen eines Index mit SSMS
          3. Löschen eines Index
      6. Zusammenfassung
    3. 11. Arbeiten mit SQL Server
      1. Abfragen von Daten (SELECT)
        1. Einfache SELECT-Ausdrücke
        2. Einschränken von Abfragen mit WHERE
        3. Gruppieren von Abfragedaten (GROUP BY, HAVING)
        4. Sortieren (ORDER BY)
        5. Abfragen mit mehreren Tabellen
          1. Verbinden von Tabellen (JOIN)
          2. Unterabfragen (Subquery)
        6. Allgemeine Tabellenausdrücke (WITH)
          1. Einfache Ausdrücke
          2. Rekursive Ausdrücke
        7. Seitenweises Blättern in Daten (Paging)
          1. TOP()
          2. ROW_NUMBER()
      2. Manipulieren von Daten
        1. Einfügen (INSERT)
          1. Standardwerte
          2. OUTPUT-Klausel
          3. Einfügen mit SSMS
        2. Verändern (UPDATE)
          1. Bestimmen der zu verändernden Zeilen
          2. OUTPUT-Klausel
          3. Verändern mit SSMS
        3. Löschen (DELETE)
          1. Fehler beim Löschen
          2. Löschen aller Zeilen einer Tabelle
          3. Löschen mit SSMS
      3. Abfragen von Metadaten
        1. Auflisten von Datenbanken
        2. Auflisten von Tabellen
        3. Informationen zu Tabellen
        4. Auflisten der Spalten einer Tabelle
        5. Auflisten von Einschränkungen
        6. Auflisten von Schlüsseln und Indizes
      4. Zusammenfassung
    4. 12. PHP und SQL Server
      1. Vorgehen und Ablauf
        1. Vorbereitungen
        2. Das Beispielprogramm
        3. Die Schritte im Einzelnen
          1. Öffnen der Datenbankverbindung
          2. Absenden der Abfrage
          3. Auslesen des Ergebnisses
          4. Schließen der Datenbankverbindung
        4. Unterstützendes Skript
      2. Datenbankverbindungen
        1. Servernamen
        2. Authentifizierung
          1. Windows-Authentifizierung
          2. SQL Server-Authentifizierung
        3. Verbindungspooling
          1. Fragmentierung
          2. Verbindungsoptionen
      3. Datenbankabfragen
        1. Parametrisieren von Anweisungen
          1. SQL Injection
          2. Filtern und Maskieren der Daten
          3. Parametrisieren von Anweisungen
          4. Beispielprogramm
        2. Auslesen von Ergebnissen
          1. Auslesen als Objekt
          2. Auslesen einzelner Felder
        3. Vorbereitete Anweisungen
      4. Datentypen
        1. Konvertieren von PHP nach SQL Server
        2. Konvertieren von SQL Server nach PHP
        3. Streams
          1. Auslesen von Daten als Stream
          2. Einfügen von Daten als Stream
      5. Zusammenfassung
    5. 13. Fortgeschrittene Datenbankfunktionen
      1. Volltextsuche
        1. Installieren des Moduls
        2. Bedeutung der Sprachauswahl
        3. Anlegen des Katalogs und des Index mit SSMS
          1. Anlegen des Katalogs
          2. Anlegen des Index
        4. Anlegen des Katalogs und des Index mit T-SQL
          1. Anlegen des Katalogs
          2. Anlegen des Volltextindex
        5. Suche mit Volltextindex
          1. Exakte Suche (CONTAINS/CONTAINSTABLE)
          2. Unscharfe Suche (FREETEXT/FREETEXTTABLE)
      2. Transaktionen
        1. T-SQL-Transaktionen
        2. PHP-Transaktionen
      3. Gespeicherte Prozeduren
        1. Variablen
        2. Definieren von Prozeduren
        3. Aufrufen von Prozeduren
        4. Ausgabeparameter und Rückgabewert
        5. Kontrollstrukturen
        6. Aufrufen von PHP aus
      4. Benutzerdefinierte Funktionen
        1. Skalare Funktionen
        2. Tabellenfunktionen
          1. Inline-Tabellenfunktion
          2. Tabellenfunktion mit mehreren Anweisungen
      5. Trigger
        1. Anlegen eines Triggers
        2. Erklärung im Detail
        3. Auslösen des Triggers
      6. Zusammenfassung
    6. 14. Benutzer und Berechtigungen
      1. SQL Server-Prinzipale
        1. Serverprinzipale
          1. Anmeldetypen
          2. Serverrollen
        2. Datenbankprinzipale
          1. Datenbankbenutzer
          2. Datenbankrollen
      2. Anlegen von SQL Server-Prinzipalen
        1. Anlegen von Anmeldungen
          1. Anlegen von Anmeldungen mit SSMS
          2. Anlegen von Anmeldungen per T-SQL
        2. Anlegen von Benutzern
          1. Anlegen von Benutzern mit SSMS
          2. Anlegen von Benutzern per T-SQL
        3. Anlegen von Datenbankrollen
          1. Anlegen von Datenbankrollen mit SSMS
          2. Anlegen von Datenbankrollen mit T-SQL
      3. Objekte und Berechtigungen
        1. Berechtigungen
          1. Effektive Berechtigung
          2. Verkettung von Berechtigungen
        2. Verwalten von Berechtigungen mit SSMS
          1. Definieren der Berechtigung beim Objekt
          2. Definieren der Berechtigung beim Prinzipal
        3. Verwalten von Berechtigungen mit T-SQL
          1. Erteilen von Berechtigungen (GRANT)
          2. Explizites Verweigern von Rechten (DENY)
          3. Zurückziehen von Berechtigungen (REVOKE)
      4. Gespeicherte Prozeduren
        1. Sicherheit durch Berechtigungen
        2. Ausführender Benutzer
          1. Definition des Benutzers
          2. Notwendige Berechtigungen
      5. Zusammenfassung
  6. III. Active Directory
    1. 15. Einrichten von Active Directory
      1. Übersicht
        1. Domänen
        2. Einträge
      2. Installieren von Active Directory
        1. Vorbereitende Schritte
        2. Installieren der Rolle
        3. Installieren der Domänendienste
      3. Erste Schritte
        1. Active Directory-Domänendienste
        2. Organisationseinheiten
          1. Erstellen einer Organisationseinheit
          2. Angeben zusätzlicher Eigenschaften
          3. Löschen einer Organisationseinheit
        3. Benutzer
          1. Anlegen eines Benutzers
          2. Ändern der Benutzereigenschaften
          3. Löschen eines Benutzers
        4. Gruppen
          1. Anlegen einer Gruppe
          2. Festlegen der Mitglieder und Mitgliedschaften
        5. Computer
      4. Einrichten der Active Directory-Zertifikatdienste
      5. Arbeiten mit Zertifikaten
        1. Ausstellen eines Zertifikats für Active Directory
          1. Ausstellen des Zertifikats
          2. Überprüfen des verschlüsselten LDAP-Zugangs
        2. Exportieren des Stammzertifikats
        3. Exportieren anderer Zertifikate
      6. Zusammenfassung
    2. 16. LDAP-Grundlagen
      1. LDAP-Struktur und -Aufbau
        1. Hierarchische Struktur
        2. Klassen und Vererbung
        3. Protokollelemente
      2. Hilfsprogramme
        1. LDP
          1. Arbeiten mit LDP
          2. Suchen mit LDP
          3. Ändern von Einträgen mit LDP
        2. ADSI-Editor
          1. Arbeiten mit dem ADSI-Editor
          2. Anlegen neuer Einträge
      3. Einrichten der PHP-LDAP-Erweiterung
        1. Aktivieren der LDAP-Erweiterung
        2. Ablauf der Kommunikation
        3. Unterstützendes Skript
        4. Einrichten der verschlüsselten Verbindung
          1. Konfigurieren von PHP und OpenLDAP
          2. Testen der verschlüsselten LDAP-Verbindung
          3. Prüfen des Zertifikats der Verbindung
      4. Authentifizieren von Benutzern
      5. Suchen von Einträgen
        1. Beispielprogramm: Suchen nach Domänenbenutzern
        2. LDAP-Filter
          1. Operatoren
          2. Maskieren von Zeichen
          3. Beispiele
        3. Iterieren über Suchergebnisse
          1. Schrittweises Auslesen der Einträge
          2. Schrittweises Auslesen der Attribute
      6. Zusammenfassung
    3. 17. Suchen im Active Directory
      1. PHP-LDAP-Browser (PLB)
        1. Hauptprogramm und Benutzerschnittstelle
          1. Eingabeformular
          2. LDAP-Suche
          3. Auswerten der Suchergebnisse
          4. Anzeigen der Ergebnisse
        2. Formatieren eines LDAP-Eintrags
        3. Typinformationen und Suchdefinitionen
        4. Konvertierungsfunktionen
      2. DIT und Namenskontexte
      3. Active Directory-Schema
        1. Objektklassen
          1. Attribute von Objektklassen
          2. PLB: Suchen und Anzeigen von Objektklassen
          3. Vergleich von Objektklassen und Objektkategorien
        2. Attributklassen
          1. Attribute von Attributklassen
          2. PLB: Suchen und Anzeigen von Attributklassen
          3. Attributsyntax
      4. Domänenobjekte
        1. Allgemeine Attribute von Domänenobjekten
          1. PLB: Allgemeine Suche nach Domänenobjekten
          2. PLB: Objekt-GUID-Konvertierung
        2. Benutzer
          1. Angaben zur Person
          2. Kontaktdaten
          3. Angaben zum Benutzerkonto
          4. PLB: Suche nach Benutzern
          5. PLB: SID-Konvertierung
          6. PLB: Konvertieren eines Windows-Zeitstempels nach PHP
          7. PLB: Anzeigen des Kontostatus
        3. Gruppen
          1. PLB: Suche nach Gruppen
          2. PLB: Anzeigen des Gruppentyps
        4. Organisationseinheiten
      5. Praktische Suchbeispiele
        1. Schema
          1. Attribute
          2. Objektklassen
        2. Mehrdeutige Namensauflösung
        3. Benutzer
        4. Gruppen
          1. Mitgliedschaft über member/memberOf
          2. Mitgliedschaft über primaryGroupID
      6. Zusammenfassung
    4. 18. Schreiben in Active Directory
      1. Vorbereitungen
        1. Zugriffsrechte
          1. Administratorgruppen
          2. Ändern der Zugriffsrechte eines Eintrags
        2. Fehlerprotokollierung
        3. Unterstützende Skripts
          1. Hauptprogramm
          2. LDAPConnection
          3. AD_util.php
      2. Schreiben von Attributen
        1. Hinzufügen von Attributen
        2. Löschen von Attributen
        3. Ändern von Attributen
        4. Codierung und Zeichensätze
      3. Praktische Beispiele für Attributänderungen
        1. Aufheben der Kontosperrung
        2. Aktivieren und Deaktivieren von Konten
        3. Mitgliedschaft in Gruppen
          1. Hinzufügen eines Benutzers zu einer Gruppe
          2. Entfernen eines Benutzers aus einer Gruppe
        4. Kennwortwechsel erzwingen
        5. Kennwort ändern
      4. Schreiben von Einträgen
        1. Unterstützendes Skript
        2. Hinzufügen neuer Einträge
        3. Löschen von Einträgen
        4. Verschieben von Einträgen
      5. Praktische Beispiele
        1. Anlegen einer neuen Gruppe
        2. Anlegen eines neuen Benutzers
        3. Löschen eines Benutzers oder einer Gruppe
      6. Zusammenfassung
  7. IV. Exchange Server
    1. 19. Einrichten von Exchange Server
      1. Einrichten notwendiger Dienste und Features
        1. Allgemeine Voraussetzungen
        2. Einrichten von IIS
        3. Einrichten von Features
        4. Einrichten der gemeinsamen Portnutzung
        5. Installieren des Office System-Konverters
        6. Konfiguration von DNS-Einträgen
      2. Installieren von Exchange Server
      3. Konfiguration nach der Installation
        1. Registrieren von Exchange
        2. Konfigurieren eines Exchange Server-Zertifikats
          1. Anfordern des Zertifikats
          2. Ausstellen des Zertifikats
          3. Zuordnen der Dienste zum Zertifikat
      4. Anlegen eines Postfachs
      5. Zusammenfassung
    2. 20. Exchange Web Services
      1. Notwendige PHP-Erweiterungen
      2. Autoermittlung (Autodiscover)
        1. Ablauf
        2. Konfigurationsdaten
        3. Abrufen der Konfigurationsdaten
          1. Abrufen mit cURL
          2. Auswerten der Konfigurationsdaten
        4. Alternativer Weg zu URLs
          1. Active Directory
          2. Exchange Management Shell
      3. SOAP und WSDL
        1. WSDL-Struktur
        2. EWS-WSDL und PHP
          1. Hinzufügen der Servicedefinition
          2. Testen der modifizierten EWS-WSDL-Datei
      4. SOAP-Nachrichten
        1. ExchangeSoapClient-Klasse
        2. Verwenden der ExchangeSoapClient-Klasse
      5. Hinweise für die folgenden Kapitel
        1. Verkürzte Darstellung der SOAP-Nachrichten
        2. Verkürzte Darstellung der PHP-Listings
        3. Objektorientierte Alternative für Parameter
      6. Zusammenfassung
    3. 21. E-Mail und EWS-Grundlagen
      1. Struktur, Kennungen und Ansichten
        1. Kennungen ausgezeichneter Ordner
        2. Ansichten von Elementen
        3. Ausgewählte Eigenschaften von Elementen
        4. Bezeichnung von Eigenschaften
          1. Einfache Eigenschaften
          2. Eigenschaftsgruppen
          3. Erweiterte Eigenschaften
      2. Suchen von Ordnern (FindFolder)
        1. Ausgewählte Eigenschaften
        2. Anforderung
        3. Antwort
          1. XML-Antwort
          2. PHP-Objekt
      3. Auflisten von Nachrichten (FindItem)
        1. Limitieren der Treffer (Paging)
        2. Sortieren
        3. PHP und Substitutionsgruppen
          1. Typemapping
          2. Umschreiben des Schemas
        4. Anforderung
          1. XML-Anforderung
          2. PHP
        5. Antwort
          1. XML-Antwort
          2. PHP-Objekt
      4. Anzeigen einer Nachricht (GetItem)
        1. Anfordern des Exchange 2010-Modus mittels SOAP-Header
        2. Bestimmen und Filtern des Nachrichteninhalts
        3. Anfordern des ursprünglichen MIME-Inhalts
        4. Anforderung
        5. Antwort
        6. Beispiel
        7. E-Mail-Anhänge (GetAttachment)
          1. Anforderung
          2. Antwort
      5. Senden einer Nachricht (CreateItem)
        1. SOAP-Fehler wegen Referenzen und Accessoren
          1. Problem
          2. Lösung
        2. Anforderung
          1. XML-Anforderung
          2. Erzeugen mit PHP
        3. Antwort
      6. Löschen von Nachrichten (DeleteItem)
        1. XML-Nachrichten
        2. PHP
      7. Zusammenfassung
    4. 22. Kontakte und Suchen
      1. Eigenschaften von Kontakten
        1. Basiseigenschaften
        2. Namenseigenschaften
        3. Eigenschaften von E-Mail-Adressen
        4. Adresseigenschaften
      2. Ändern eines Kontakts (UpdateItem)
        1. Anforderung
          1. XML-Anforderung
          2. Erstellen der Anforderung in PHP
        2. Antwort
      3. Suche nach bestimmten Eigenschaften
        1. Ausdrücke
          1. Boolesche Ausdrücke
          2. Vergleichsausdrücke
          3. Weitere Ausdrücke
        2. Vorbereitung: Anpassen des Schemas
        3. Definieren der Suche in der Anforderung
        4. Vollständiges PHP-Beispiel
          1. Suchformular
          2. Konstruieren der Suchparameter
          3. Kontaktsuche
      4. Zusammenfassung
    5. 23. Kalender und Identitätswechsel
      1. Kalendereinträge
        1. Basiseigenschaften
        2. Besprechungen
        3. Serientermine
        4. Zeit und Zeitzonen
          1. Zeitformat
          2. Zeitangabe bei Anforderungen
      2. Anlegen eines einfachen Kalendereintrags
        1. Anforderung
        2. Antwort
        3. Erzeugter Eintrag
      3. Besprechungen
        1. Anlegen einer Besprechung
          1. XML-Anforderung
          2. Vollständiges PHP-Beispiel
        2. Besprechungseinladung
          1. XML-Struktur
          2. Ausgewählte Eigenschaften
        3. Antworten auf eine Besprechungseinladung
          1. Zusagen
          2. Zusagen mit Vorbehalt
          3. Ablehnen
          4. Vollständiges PHP-Beispiel
        4. Absagen einer Besprechung
          1. Anforderung
          2. Antwort
      4. Terminkollisionen
        1. Anforderung
          1. XML-Anforderung
          2. PHP
        2. Antwort
      5. Suchen im Kalender
        1. Anforderung
        2. Antwort
        3. Vollständiges PHP-Beispiel
      6. Identitätswechsel (Impersonation)
        1. Erteilen des Rechts zum Identitätswechsel
        2. Wechseln der Identität bei EWS-Operationen
          1. Verkörperung mit Prinzipalname
          2. Verkörperung mit E-Mail-Adresse
          3. Verkörperung mit Sicherheitskennung (SID)
      7. Weitere Schritte
      8. Zusammenfassung
  8. A. Beispielskripts und -daten
    1. HTMLPage
    2. HTML-Vorlage
    3. DatabaseConnection
    4. Beispieldatenbank: AdventureWorksLT2008
  9. Stichwortverzeichnis
  10. Copyright