Jens Ferner Profikurs PHP-Nuke Einsatz, Anpassung und fortgeschrittene Progammierung PHP-Nuke vom Start bis zur strukturierten Anwendung - Mit umfassender interner Funktionsreferenz 2., verbesserte und erweiterte Auflage vieweg
Inhaltsverzeichnis 1 Einleitung 1 1.1 Überblick: CMS, Portalsysteme, Newsmodule 1 1.1.1 Die verschiedenen Systeme 1 1.1.2 Form und Art des Inhaltes 2 1.2 PHP-Nuke Entwicklungsgeschichte & Clones 3 1.3 Weitere Produkte - Forks, Splitt-Offs & Clones 4 1.4 Was benötigt man für den Einsatz von PHP-Nuke 6 1.5 Arbeitsweise eines PHP-Nuke-Systems 7 1.5.1 Trennung: Inhalte & Code 7 1.5.2 Trennung: Design & Code 7 1.5-3 Trennung: Sprache & Code 7 1.6 Funktionsumfang eines PHP-Nuke-Systems 8 1.7 PHP-Nuke - auch für Agenturen? 9 1.8 Welche Version 11 2 Installation 12 2.1 Vorbereitung 12 2.2 Konfigurieren 13 2.3 Das Prefix und der Rest der Datei config.php 14 2.4 Datei-Upload 15 2.5 Rechte der Dateien setzen (CHMOD) 15 2.6 Die Datenbank 16 2.7 Die Startseite - index.php 17 2.8 Die Meta-Tags einstellen." 18 2.9 Das System der Sprachdateien 18 2.10 Das erste Mal ins Admin-Menü 19 2.11 PHP-Nuke-Transfer - der Umzug 21 2.12 Das System: Benutzer & Rechte 23 2.13 Updates.' 25 2.14 Typische Probleme 28 3 Bedienung & Verwaltung 29 VII
4.7.6 Ein Theme nach eigenen Bedürfnissen entwerfen 127 4.8 Backend anpassen 146 4.9 Eigene Blöcke programmieren 149 4.10 Das Sprachsystem erweitern 150 4.11 Die Artikelseite bearbeiten 152 4.12 Einen WYSIWYG-Editor hinzufügen 154 4.13 Umfangreiche Dateien einbinden 156 4.14 Zugriff auf die Datenbank 158 4.14.1 Allgemeines zur Arbeitsweise 159 4.14.2 Auslesen mit dem 5.5-Parser 159 4.14.3 Die Datenbank Schnittstelle ab PHP-Nuke 7 160 4.15 Ausgaben anders sortieren l6l 4.16 Letzte "X" Inhalte in Block ausgeben 163 4.17 Block mit zufälligem Bild anzeigen 165 4.18 Morelink" anpassen 166 4.19 Kreativ arbeiten: Inhalte variabel auslesen 168 4.20 Zum Verwalten der Banner phpadsnew nutzen 170 4.21 Emails bei Aktionen senden 171 4.22 Das eigene VKP 172 Optimieren von PHP-Nuke 174 5.1 Bekannte Probleme innerhalb der Performance 174 5.2 Analysieren 174 5.2.1 Skriptlaufzeit ermitteln 175 5.2.2 Die ausgeführten Queries zählen 176 5.2.3 Die ausgeführten Queries ausgeben 177 5.3 Optimieren der Datenbankzugriffe 179 5.3.1 Cache-Systeme 180 5.3.2 Count statt num_rows 182 5.3-3 Unbuffered_query nutzen 182 5.4 Typische Schwachstellen 183 5.4.1 Mainfile.php 183 5.4.2 Modules-Block 185 5.4.3 Das Einlesen von RSS-Blöcken 186 X
5-5 Suchmaschinenoptimierung 188 5.5-1 Der Seitentitel ; 188 5.5-2 Links umschreiben mit mod_rewrite 190 5.5.3 Artikel formatieren 193 5.6 Die Fehlerausgabe 194 5.7 Optimieren der Seiten mittels JPCache 194 5.8 Seitenkomprimierung 195 Sicherheit in PHP-Nuke 199 6.1 Sicherheit & PHP-Nuke 199 6.2 Es geht nicht um Sie persönlich 200 6.3 Das Prefix als Sicherheit? 201 6.4 Zugriff auf die Server-Daten 201 6.5 Cross-Site-Scripting 202 6.6 SQL-Injections als Problem 205 6.7 Direkter Zugriff auf Dateien 209 6.8 Ansätze für eine Intrusion Detection 211 6.9 Quellen für Hinweise 212 6.10 Backups 213 Funktions- & Codereferenz 214 7.1 Übersicht über Dateien und Verzeichnisse 215 7.2 Globale Variablen in PHP-Nuke 218 7.3 Funktionen der Datenbankschnittstelle 223 7.3-1 PHP-Nuke 5-5 : sqljayer.php 224 7.3.2 PHP-Nuke 7 : db.php 228 7.3.3 Vergleich der SQL-Funktionen 233 7.3-4 Anmerkungen zur SQL-Layer 233 7.4 Der Kern : mainfile.php 234 7.5 Header.php, Footer.php & Themes 247 7.5.1 header.php 247 7.5.2 footer.php 249 7.5.3 theme.php 250 7.6 Modul-Schnittstellen: index.php und modules.php 252 7.7 Banner-Funktionen 255 XI
7.7.1 Allgemeines zur Banner-Funktionalität 255 7.7.2 Banner selber auslesen und anzeigen 256 7.7.3 Funktionen der Datei banners.php 257 7.8 Das News-Modul 259 7.9 Das User-Modul 261 7.10 Der Administrationsbereich 269 7.10.1 Erläuterungen zur Datei auth.php 269 7.10.2 Der Administrator-Login 269 7.10.3 Die Administrator-Rechte 270 7.11 Administrations-Module 271 7.12 Aufbau der Datenbank 276 7.12.1 Die Tabellen in PHP-Nuke 5.5 277 7.12.2 Die Tabellen in PHP-Nuke 7 279 Anhang 284 A.l Beiträge weiterer PHP-Nuke-Entwickler 284 A.l.l PHP-Nuke Optimieren, Christian Einig 284 A.l.1.1 Warum optimieren? 284 A.l.1.2 HTML-Templates entfernen 286 A.l.1.3 Statistiken, Referer und Tracking-Tools 291 A.l.1.4 Statische Blöcke 293 A.l.1.5 Mehrsprachen-Unterstützung deaktivieren 297 A.l.1.6 Theme-Funktionalität entfernen 299 A.l.1.7 Performance testen 301 A.l.1.8 Weitere Optimierungen in Eigenregie 303 A.l.2 PHP-Nuke & Sessions, Cihan Aksakal 305 A.l.2.1 Was sind Sessions? 305 A.l.2.2 Was sind die Voraussetzungen? 306 A. 1.2.3 Kurze Beschreibung zum Einsatz von Sessions 307 A.l.2.4 Ein einfaches Login-Script mit Sessions 308 A.l.2.5 Cookie, der Userschreck? 317 A.l.2.6 Authentifikation am Beispiel des Admin-Moduls 317 A.l.2.7 Weitere Einsatzmöglichkeiten in PHP-Nuke 332 A.l.3 PHP-Nuke & Template-Systeme 332 XII
A.l.3.1 Gründe für die Trennung von Code und Design : 333 A.l.3.2 Vorteile gegenüber der konventionellen Art 334 A.l.3.3 Vorteile für Programmierer und Designer 336 A.l.3.4 Pear ITX Template-Engine 337 A.1.3.5 Feedback-Modul mit Templates! 345 A.l.3.6 Weitere Einsatzmöglichkeiten 352 A.1.4 PHP-Nuke im Einsatz mit Smarty 353 A.l.4.1 Smarty...die ersten Schritte 354 A.l.4.2 PHP-Nuke und Smarty 357 A.l.4.3 Unser eigenes Modul 359 A.2 Das Forum in PHP-Nuke-Systemen 362 A.2.1 Die Forenstruktur 362 A.2.2 Benutzer im Forum 363 A.2.3 General-Admin" im PHPBB ^363 A.2.4 Style Management 365 A.2.5 Gruppen 365 A.3 Informationen zur GPL 365 A.4 Web-Links 367 A.5 Empfohlene Software 368 A.6 Funktionale Änderungen der PHP-Nuke-Versionen 369 A.7 phpmyadmin - Kurzanleitung 371 A.7.1 Was ist phpmyadmin 371 A.7.2 Quellen für phpmyadmin 371 A.7.3 phpmyadmin Installieren & konfigurieren 371 A.7.4 Bedienung 374 A.7.5 Einige Standardprobleme 376 A.8 Checkliste: Gehackte Seite 381 A.8.1 Einstieg: Sie wurden gehackt 381 A.8.2 Schritt 1: Seite sperren 382 A.8.3 Schritt 2: Backup erstellen 382 A.8.4 Schritt 3: Den Angriff erkennen 382 A.8.5 Schritt 4 : Löcher fixen 386 A.8.6 Schritt 5: Seite wiederherstellen 386 XIII
A.8.7 Backup-Politik entwerfen 386 A.8.8 Logfile Analyse 387 A.9 Typische Probleme beim Betrieb von PHP-Nuke 389 A.9.1 Fehlermeldungen 390 A.9.2 Fehlerbeschreibungen 392 Abbildungsübersicht 395 Schlagwortverzeichnis 398 XIV