ebook img

PHP-Nuke: Einsatz, Anpassung und fortgeschrittene Progammierung — Mit vollständiger interner Funktionsreferenz PDF

342 Pages·2004·9.339 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview PHP-Nuke: Einsatz, Anpassung und fortgeschrittene Progammierung — Mit vollständiger interner Funktionsreferenz

Jens Ferner PHP-Nuke Aus dem Bereich IT erfolgreich gestalten Grundkurs JAVA Erfolgreiche Datenbankanwendung von Dietmar Abts mitSQL3 von Jörg Fritze und Jürgen Marsch Grundkurs MySQL und PHP von Martin Pollakowski Wireless LAN In der Praxis von Peter Klau Software Engineering von Reiner Dumke Exchange Server 2000 - Installieren, konfigurieren, administrieren, Kompaktkurs Mikrocontroller optimieren von Silvia Limbach von Thomas Joos Die Kunst der Programmierung C#.NET mit Methode mltC++ von Heinrich Rottmann von Martin Aupperle Web-basierte System Integration Das PC-Wissen für IT-Berufe: von Harry Marsh Sneed Hardware, Betriebssysteme, und Stephan S. Sneed Netzwerktechnik von Rainer Egewardt IT-Projekte strukturiert realisieren von Ralph Brugger Requirements-Engineering In IT effizient und verständlich Visual Basic.NET mit Methode von Emmerich Fuchs, Karl Hermann Fuchs von Heinrich Rottmann und Christian H. Hauri SAP APO'" in der Praxis Rechnerarchitektur hrsg. von Matthias Bode und Volker Nissen von Paul Herrmann SAP R/3'" Kommunikation Grundkurs Datenbankentwurf mit RFC und Visual Basic von Helmut Jarosch von Patrick Theobald Efficient SAP" R/3"'-Data Archlving Terminalserver mit von Markus Korschen Citrix Metaframe XP von Thomas Joos Effizient Programmieren mit C# und .NET Web-Programmlerung von Andreas Solymosi und Peter Solymosi von Oral Avcl, Ralph Trittmann und Werner Mellis Management der Software-Entwicklung PHP-Nuke von Carl Steinweg von Jens Ferner Verteilte Systeme von Günther Bengel Das neue PL/I für PC, Workstation und Mainframe von Eberhard Sturm www.vieweg-it.de Jens Ferner PHP-Nuke Einsatz, Anpassung und fortgeschrittene Progammierung - Mit vollständiger interner Fu n ktionsreferenz ~ vleweg Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.ddb.de> abrufbar. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne von Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürfen. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen. 1. Auflage Mai 2004 Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlag/GWV Fachverlage GmbH, Wiesbaden 2004 Der Vieweg Verlag ist ein Unternehmen von Springer Science+Business Media. www.vieweg-it.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Ein speicherung und Verarbeitung in elektronischen Systemen. Konzeption und Layout des Umschlags: Ulrike Weigel, www.CorporateDesignGroup.de Umschlagbild: Nina Faber de.sign, Wiesbaden ISBN 978-3-528-05848-7 ISBN 978-3-322-93961-6 (eBook) DOI 10.1007/978-3-322-93961-6 Vorwort Nach dem Boom der Content-Management-Systeme der letzten Jahre kommt allmählich Ernüchterung auf. Verstärkt wird Wert auf Sicherheit und Performance gelegt. Auch eine zunehmende Anzahl von Funktionen kann Anwender darüber nicht mehr hinwegtäuschen. PHP-Nuke ist mehr als ein einfaches CMS - ich merke täglich sowohl in den Nukeboards als auch in den Emails, dass es vor allem der einfach verständliche Code ist - nicht zuletzt so ein fach durch die intuitive Verständlichkeit der Skriptsprache PHP, der viele Anwender motiviert, PHP-Nuke zu nutzen. Es ist meist nur eine Frage von Wochen, bis der PHP-Nuke Anwender das System anpassen möchte - nicht zuletzt auch um Sicherheit und Performance zu erhöhen. Ich versuche in diesem Buch die Gratwanderung zu schaffen zwischen den Ansprüchen eines Anwenders und Programmie rers, zwischen der reinen Bedienung und dem Anpassen des Programms. Die Webseite zum Buch befindet sich auf http://www.php-Nuke-book.com. Sollten sich Ergänzungen er geben, werde ich dort Nachträge und Aktualisierungen veröf fentlichen. Zusätzlich habe ich in diesem Buch auch einigen be kannten Entwicklern die Möglichkeit geboten, spezifische Beiträ ge zu eigenen Themen zu schreiben. Diese Beiträge finden sich im Anhang, und ich freue mich über die qualitative Beteiligung. Besonderer Dank gilt Norbert Rautenberg, der sich als Theme Entwickler bereit erklärt hat, ein Kapitel zum Thema zu erstellen. Alsdorf, im April 2004 -Jens Ferner V - 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 2 Installation .......................................................................................................... 11 2.1 Vorbereitung ........................................................................................... 11 2.2 Konfigurieren .......................................................................................... 11 2.3 Das Prefix ................................................................................................ 13 2.4 Datei-Upload ........................................................................................... 14 2.5 Rechte der Dateien setzen (CHMOD) ................................................... 14 2.6 Die Datenbank. ....................................................................................... 15 2.7 Die Startseite - index.php ...................................................................... 15 2.8 Die Meta-Tags einstellen ........................................................................ 16 2.9 Das System der Sprachdateien .............................................................. 17 2.10 Das erste Mal ins Admin-Menü ............................................................. 18 2.11 PHP-Nuke-Transfer - der Umzug .......................................................... 19 2.12 Das System: Benutzer & Rechte ............................................................ 21 2.13 Updates ............................................................................................... 24 2.14 Typische Probleme ................................................................................. 26 3 Bedienung & Verwaltung .................................................................................. 28 3.1 Das Prinzip der Module ......................................................................... 29 VII 3.2 Die Funktionen im PHP-Nuke-System .................................................. 32 3.2.1 Content - Funktionen ..................................................................... 33 3.2.2 Interne Funktionen ......................................................................... 45 3.2.3 Benutzerfunktionalität .................................................................... 50 3.3 Seiteneinstellungen verwalten ............................................................... 54 3.3.1 Generelle Seitenangaben ............................................................... 56 3.3.2 Multilinguale Optionen .................................................................. 59 3.3.3 Bannereinstellungen ....................................................................... 59 3.3.4 Fuß- Nachrichten ............................................................................ 59 3.3.5 Backend- Einstellungen .................................................................. 60 3.3.6 Mail: Neue Artikel an Admin ........................................................ 60 3.3.7 Kommentare moderieren ............................................................... 61 3.3.8 Kommentar-Einstellungen .............................................................. 61 3.3.9 Grafische Einstellungen .................................................................. 62 3.3.10 Sonstige Einstellungen .................................................................... 62 3.3.11 Benutzeroptionen ........................................................................... 62 3.3.12 Zensuroption ................................................................................... 62 3.3.13 WebMaii Serviceoptionen (nur bis 7.1) ......................................... 63 3.4 Einstellungen der Funktionsbereiche .................................................... 63 3.4.1 Neuer Artikel ................................................................................... 64 3.4.2 Backup DB ...................................................................................... 66 3.4.3 Banner ............................................................................................. 66 3.4.4 Inhalt. ............................................................................................... 68 3.4.5 Downloads ...................................................................................... 68 3.4.6 Administratoren ............................................................................... 70 3.4.7 Benutzer .......................................................................................... 71 3.4.8 Enzyklopädie .................................................................................. 72 3.4.9 Tagesmotto ...................................................................................... 73 3.4.10 FAQ .................................................................................................. 73 3.4.11 Benutzergruppen ............................................................................ 73 3.4.12 HTTP-Referer .................................................................................. 74 3.4.13 Mitteilungen .................................................................................... 75 3.4.14 Module ............................................................................................ 75 VIII 3.4.15 Newsletter ....................................................................................... 77 3.4.16 Optimize DB ................................................................................... 77 3.4.17 Testberichte ................................................................................. 77 3.4.18 Spezial-Bereiche .......................................................................... 78 3.4.19 Artikel .............................................................................................. 79 3.4.20 Umfragen ......................................................................................... 79 3.4.21 Themen ........................................................................................ 79 3.4.22 WebLinks ..................................................................................... 80 3.4.23 Logout. ............................................................................................. 82 3.5 Die Blöcke im PHP-Nuke-System ......................................................... 82 3.5.1 System-Blöcke ................................................................................ 83 3.5.2 Zusätzliche Blöcke anlegen & verwalten ...................................... 84 3.5.3 Die Block-Dateien .......................................................................... 89 3.5.4 Eine Navigation erstellen ............................................................... 90 PHP-Nuke-Systeme anpassen ............................................................................ 92 4.1 Ziel dieses Kapitels ................................................................................. 92 4.2 Zusätzliche Module und Themes installieren ....................................... 92 4.3 Eigene Module Programmieren ............................................................. 95 4.4 Eigene Admin-Module schreiben .......................................................... 98 4.5 Eigene Seiten mit Benutzerprüfung erstellen ..................................... 100 4.6 Themes anpassen und erstellen .......................................................... 101 4.6.1 Der Aufbau eines HTML-Template-Themes ............................... 102 4.6.2 Strukturierung der Template-Dateien .......................................... 103 4.6.3 theme.php-basierende Themes ................................................... 106 4.6.4 Theme-Funktionen im Überblick ................................................ 107 4.6.5 Der kleine Theme-Workshop ...................................................... 108 4.7 Backend anpassen ................................................................................ 110 4.8 Eigene Blöcke programmieren ............................................................ 111 4.9 Das Sprachsystem erweitern ................................................................ 113 4.10 Die Artikelseite bearbeiten ............................................................... 114 4.11 Einen WYSIWYG-Editor hinzufügen ................................................... 116 4.12 Umfangreiche Dateien einbinden ....................................................... 118 4.13 Zugriff auf die Datenbank ................................................................... 120 - IX 4.13.1 Allgemeines zur Arbeitsweise ...................................................... 121 4.13.2 Auslesen mit dem 5.5-Parser.. ...................................................... 121 4.13.3 Die Bedienung des PHP-Nuke 7-Parsers .................................... 122 4.14 Das eigene VKP .................................................................................... 123 Optimieren von PHP-Nuke ........................................................................ 125 5.1 Bekannte Probleme innerhalb der Performance ................................ 125 5.2 Analysieren ........................................................................................... 125 5.2.1 Skriptlaufzeit ermitteln ................................................................. 126 5.2.2 Die ausgeführten Queries zählen ................................................ 127 5.2.3 Die ausgeführten Queries ausgeben ........................................... 128 5.3 Optimieren der Datenbankzugriffe ..................................................... 130 5.3.1 Cache-Systeme .............................................................................. 131 5.3.2 Count statt num_rows .................................................................. 133 5.3.3 Unbuffered_query nutzen ............................................................ 133 5.4 Typische Schwachstellen ..................................................................... 134 5.4.1 Mainfile.php .................................................................................. 134 5.4.2 Modules-Block .............................................................................. 136 5.5 Suchmaschinenoptimierung ................................................................. 137 5.5.1 Der Seitentitel ................................................................................ 138 5.5.2 Links umschreiben mit mod_rewrite ........................................... 139 5.5.3 Artikel formatieren ........................................................................ 141 5.6 Die Fehlerausgabe ................................................................................ 142 5.7 Optimieren der Seiten mittels JPCache ............................................... 142 5.8 Seitenkomprimierung ........................................................................... 143 Sicherheit in PHP-Nuke ................................................................................... 145 6.1 Sicherheit & PHP-Nuke ........................................................................ 145 6.2 Es geht nicht um Sie persönlich .......................................................... 145 6.3 Das Prefix als Sicherheit? ..................................................................... 146 6.4 Zugriff auf die Server-Daten ................................................................ 147 6.5 Cross-Site-Scripting ............................................................................... 148 6.6 SQL-Injections als Problem .................................................................. 149 6.7 Ansätze für eine Intrusion Detection .................................................. 152 6.8 Quellen für Hinweise ........................................................................... 153 - X Funktions- & Codereferenz ......................................................................... 155 7.1 Übersicht über Dateien und Verzeichnisse ........................................ 156 7.2 Globale Variablen in PHP-Nuke .......................................................... 159 7.3 Funktionen der Datenbankschnittstelle .............................................. 164 7.3.1 PHP-Nuke 5.5 : sqUayer.php ...................................................... 166 7.3.2 PHP-Nuke 7 : db.php ................................................................... 169 7.3.3 Vergleich der SQL-Funktionen .................................................... 174 7.3.4 Anmerkungen zur SQL-Layer ....................................................... 175 7.4 Der Kern: mainfile.php ....................................................................... 175 7.5 Header.php, Footer.php & Themes .................................................... 188 7.5.1 header.php .................................................................................... 188 7.5.2 footer.php ...................................................................................... 190 7.5.3 theme.php ..................................................................................... 191 7.6 Banner-Funktionen ............................................................................... 193 7.7 Das News-Modul .................................................................................. 196 7.8 Das User-Modul .................................................................................... 198 7.9 Die Admin.php & Auth.php ................................................................ 206 7.10 Administrations-Module ....................................................................... 207 7.11 Aufbau der Datenbank .................................................................... 212 7.11.1 Die Tabellen in PHP-Nuke 5.5 ................................................. 213 7.11.1 Die Tabellen in PHP-Nuke 7 .................................................... 215 Anhang ..................................................................................................................... 219 A.l Beiträge weiterer PHP-Nuke-Entwickler ............................................. 219 A.1.1 PHP-Nuke Optimieren, Christian Einig ....................................... 219 A.l.l.l Warum optimieren? .................................................................. 219 A.1.1.2 HTML-Templates entfernen ...................................................... 221 A.1.1.3 Statistiken, Referer und Tracking-Tools .................................. 226 A.1.1.4 Statische Blöcke ........................................................................ 228 A.l.l.5 Mehrsprachen-Unterstützung deaktivieren ............................. 232 A.1.1.6 Theme-Funktionalität entfernen ............................................... 234 A.l.l.7 Performance testen ................................................................... 236 A.1.1.8 Weitere Optimierungen in Eigenregie ..................................... 238 A.1.2 PHP-Nuke & Sessions, Cihan Aksakal.. ....................................... 240 XI

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.