Christian Hahn
Web Content Management mit Perl. Erstellung eines kompletten Redaktionssystems. CGI, Embperl und mod perl. Template- Engine.
Christian Hahn
Web Content Management mit Perl. Erstellung eines kompletten Redaktionssystems. CGI, Embperl und mod perl. Template- Engine.
- Buch
Produktdetails
- Verlag: Galileo Press Gmbh
- ISBN-13: 9783898422758
- ISBN-10: 3898422755
- Artikelnr.: 10942715
Christian Hahn beschäftigt sich seit den Anfängen des World Wide Web mit der webbasierten Programmierung. Er war bisher als technischer Scout, Applikationsdesigner, Multimedia-Programmierer und Entwicklungsleiter tätig und hat zahlreiche kommerzielle Projekte auf der Grundlage von Perl realisiert.
Einleitung 17
1 Das klassische Kontaktformular 27
1.1 Das Kontaktformular 27
1.2 Parameter beim Aufruf von CGI-Skripten 32
1.3 Weiterleitung auf eine andere URL 36
1.4 Mail-Versand 38
1.5 Datum und Uhrzeit des Servers 40
1.6 Identifizieren des Browser-Clients 41
1.7 Kleine Hilfen mit JavaScript 43
1.8 Zusammenfassung 45
2 Embedded Perl 51
2.1 CGI à la PHP 51
2.2 Einsetzen von Perl-Code 55
2.3 Formulare 58
2.4 Erkennen von HTML-Tags 61
2.5 Cookies 63
2.6 Objektorientierte Webseiten 65
2.7 Zusammenfassung 68
3 Die Template-Engine 71
3.1 "Hello World" im Template 71
3.2 Ein Template-basiertes Gästebuch 75
3.3 Schleifen im Template 79
3.4 If-Abfragen im Template 86
3.5 Das Browser-Cache-Problem 87
3.6 Stylesheets in Templates 88
3.7 Arbeiten mit Frames 92
3.8 Zusammenfassung 95
4 Eine Flatfile-Datenbank 101
4.1 Archivieren von Daten in ASCII-Dateien 101
4.2 Kurzer Rückblick: Datenbankkonzept 121
4.3 Integration in eine Website 122
4.4 Alternative Datenquellen 132
4.5 Zusammenfassung 136
5 SQL-Anbindung 143
5.1 SQL-Datenbanken 143
5.2 MySQL und DBI 145
5.3 Kon.gurieren von MySQL 146
5.4 MySQL-Zugriff mit Perl 151
5.5 Datenbankmanipulationen mit DBI 154
5.6 Ausbau der sql-lib.pl 156
5.7 Backup von MySQL 161
5.8 Zusammenfassung 162
6 Session-Management 167
6.1 Client-Sessions vs. Server-Sessions 167
6.2 Login-Mechanismus 168
6.3 Sicherheitslücken 177
6.4 Useraccount-Verwaltung 178
6.5 Client-Cookies 191
6.6 Login-Timout 196
6.7 Keepalive 198
6.8 Verschlüsselte Passwörter 199
6.9 Zusammenfassung 202
7 Ein komplettes Redaktionssystem 209
7.1 File-Upload 209
7.2 Beliebige Dateiformate als Content 212
7.3 Verschiedene Dokumentenklassen 215
7.4 Zusammenfassung 265
8 Spezielle Ausgabemöglichkeiten 267
8.1 WAP und WML 267
8.2 Mailing-Listen 272
8.3 Besucherauthentifikation 292
8.4 Dynamische PDF-Generierung 292
8.5 Der CSV-Export 297
8.6 Der XML-Export 306
8.7 Der HTML-Export 312
8.8 Upload per FTP 319
8.9 Archivierung auf CD-ROM 324
8.10 Zusammenfassung 334
9 Apache-Module 337
9.1 Kompilieren von Perl-Code 337
9.2 Apache-Perl-Module 338
9.3 Vorkompilierte Module 343
9.4 Persistente Datenbankverbindung 345
9.5 mod_perl und virtuelle Hosts 347
9.6 mod_perl und Apache2 350
9.7 Zusammenfassung 352
10 Aufbau eines Application-Servers 353
10.1 Netzwerkkonfiguration 353
10.2 Virtuelle Hosts 356
10.3 SSL 358
10.4 Applikationseigene Apache-Prozesse 363
10.5 Apache mit einkompiliertem mod_perl 368
10.6 Zusammenfassung 370
11 Externer Content 371
11.1 LWP und XML 371
11.2 Net::Google 380
11.3 Finance::Quote 382
11.4 NNTP-Newsserver 388
11.5 Whois-Abfrage 393
11.6 Zusammenfassung 400
12 Eine Bilddatenbank 403
12.1 Dynamische Bildbearbeitung 403
12.2 Diagramme 411
12.3 Archiveren von Bilddateien 417
12.4 Erweiterungen für die Bilddatenbank 450
12.5 Zugriffskontrolle 464
12.6 Zusammenfassung 466
13 Eine Audiodatenbank 467
13.1 Archivieren von Audiodaten 467
13.2 Audiodaten hörbar machen 488
13.3 Import von Audiodaten 500
13.4 Zusammenfassung 502
A Referenz zu Image::Magick 505
A.1 Erzeugen, Lesen und Schreiben 505
A.2 Bildparameter 506
A.3 Methoden zur Bildmanipulation 510
A.4 Fehlerrückgabe 515
B HTTP-Header517
C Umgebungsvariablen 523
D HTML-Form-Elemente529
D.1 Das Text-Eingabefeld 529
D.2 Das Passwort-Eingabefeld 530
D.3 Das Hidden-Field 530
D.4 Die Textarea 530
D.5 Die Checkbox 531
D.6 Der Radiobutton 531
D.7 Das Auswahlfeld 532
D.8 Das Datei-Eingabefeld 532
D.9 Der Submit-Button 533
E Inhalt der CD-ROM 535
Index 537
1 Das klassische Kontaktformular 27
1.1 Das Kontaktformular 27
1.2 Parameter beim Aufruf von CGI-Skripten 32
1.3 Weiterleitung auf eine andere URL 36
1.4 Mail-Versand 38
1.5 Datum und Uhrzeit des Servers 40
1.6 Identifizieren des Browser-Clients 41
1.7 Kleine Hilfen mit JavaScript 43
1.8 Zusammenfassung 45
2 Embedded Perl 51
2.1 CGI à la PHP 51
2.2 Einsetzen von Perl-Code 55
2.3 Formulare 58
2.4 Erkennen von HTML-Tags 61
2.5 Cookies 63
2.6 Objektorientierte Webseiten 65
2.7 Zusammenfassung 68
3 Die Template-Engine 71
3.1 "Hello World" im Template 71
3.2 Ein Template-basiertes Gästebuch 75
3.3 Schleifen im Template 79
3.4 If-Abfragen im Template 86
3.5 Das Browser-Cache-Problem 87
3.6 Stylesheets in Templates 88
3.7 Arbeiten mit Frames 92
3.8 Zusammenfassung 95
4 Eine Flatfile-Datenbank 101
4.1 Archivieren von Daten in ASCII-Dateien 101
4.2 Kurzer Rückblick: Datenbankkonzept 121
4.3 Integration in eine Website 122
4.4 Alternative Datenquellen 132
4.5 Zusammenfassung 136
5 SQL-Anbindung 143
5.1 SQL-Datenbanken 143
5.2 MySQL und DBI 145
5.3 Kon.gurieren von MySQL 146
5.4 MySQL-Zugriff mit Perl 151
5.5 Datenbankmanipulationen mit DBI 154
5.6 Ausbau der sql-lib.pl 156
5.7 Backup von MySQL 161
5.8 Zusammenfassung 162
6 Session-Management 167
6.1 Client-Sessions vs. Server-Sessions 167
6.2 Login-Mechanismus 168
6.3 Sicherheitslücken 177
6.4 Useraccount-Verwaltung 178
6.5 Client-Cookies 191
6.6 Login-Timout 196
6.7 Keepalive 198
6.8 Verschlüsselte Passwörter 199
6.9 Zusammenfassung 202
7 Ein komplettes Redaktionssystem 209
7.1 File-Upload 209
7.2 Beliebige Dateiformate als Content 212
7.3 Verschiedene Dokumentenklassen 215
7.4 Zusammenfassung 265
8 Spezielle Ausgabemöglichkeiten 267
8.1 WAP und WML 267
8.2 Mailing-Listen 272
8.3 Besucherauthentifikation 292
8.4 Dynamische PDF-Generierung 292
8.5 Der CSV-Export 297
8.6 Der XML-Export 306
8.7 Der HTML-Export 312
8.8 Upload per FTP 319
8.9 Archivierung auf CD-ROM 324
8.10 Zusammenfassung 334
9 Apache-Module 337
9.1 Kompilieren von Perl-Code 337
9.2 Apache-Perl-Module 338
9.3 Vorkompilierte Module 343
9.4 Persistente Datenbankverbindung 345
9.5 mod_perl und virtuelle Hosts 347
9.6 mod_perl und Apache2 350
9.7 Zusammenfassung 352
10 Aufbau eines Application-Servers 353
10.1 Netzwerkkonfiguration 353
10.2 Virtuelle Hosts 356
10.3 SSL 358
10.4 Applikationseigene Apache-Prozesse 363
10.5 Apache mit einkompiliertem mod_perl 368
10.6 Zusammenfassung 370
11 Externer Content 371
11.1 LWP und XML 371
11.2 Net::Google 380
11.3 Finance::Quote 382
11.4 NNTP-Newsserver 388
11.5 Whois-Abfrage 393
11.6 Zusammenfassung 400
12 Eine Bilddatenbank 403
12.1 Dynamische Bildbearbeitung 403
12.2 Diagramme 411
12.3 Archiveren von Bilddateien 417
12.4 Erweiterungen für die Bilddatenbank 450
12.5 Zugriffskontrolle 464
12.6 Zusammenfassung 466
13 Eine Audiodatenbank 467
13.1 Archivieren von Audiodaten 467
13.2 Audiodaten hörbar machen 488
13.3 Import von Audiodaten 500
13.4 Zusammenfassung 502
A Referenz zu Image::Magick 505
A.1 Erzeugen, Lesen und Schreiben 505
A.2 Bildparameter 506
A.3 Methoden zur Bildmanipulation 510
A.4 Fehlerrückgabe 515
B HTTP-Header517
C Umgebungsvariablen 523
D HTML-Form-Elemente529
D.1 Das Text-Eingabefeld 529
D.2 Das Passwort-Eingabefeld 530
D.3 Das Hidden-Field 530
D.4 Die Textarea 530
D.5 Die Checkbox 531
D.6 Der Radiobutton 531
D.7 Das Auswahlfeld 532
D.8 Das Datei-Eingabefeld 532
D.9 Der Submit-Button 533
E Inhalt der CD-ROM 535
Index 537
Einleitung 17
1 Das klassische Kontaktformular 27
1.1 Das Kontaktformular 27
1.2 Parameter beim Aufruf von CGI-Skripten 32
1.3 Weiterleitung auf eine andere URL 36
1.4 Mail-Versand 38
1.5 Datum und Uhrzeit des Servers 40
1.6 Identifizieren des Browser-Clients 41
1.7 Kleine Hilfen mit JavaScript 43
1.8 Zusammenfassung 45
2 Embedded Perl 51
2.1 CGI à la PHP 51
2.2 Einsetzen von Perl-Code 55
2.3 Formulare 58
2.4 Erkennen von HTML-Tags 61
2.5 Cookies 63
2.6 Objektorientierte Webseiten 65
2.7 Zusammenfassung 68
3 Die Template-Engine 71
3.1 "Hello World" im Template 71
3.2 Ein Template-basiertes Gästebuch 75
3.3 Schleifen im Template 79
3.4 If-Abfragen im Template 86
3.5 Das Browser-Cache-Problem 87
3.6 Stylesheets in Templates 88
3.7 Arbeiten mit Frames 92
3.8 Zusammenfassung 95
4 Eine Flatfile-Datenbank 101
4.1 Archivieren von Daten in ASCII-Dateien 101
4.2 Kurzer Rückblick: Datenbankkonzept 121
4.3 Integration in eine Website 122
4.4 Alternative Datenquellen 132
4.5 Zusammenfassung 136
5 SQL-Anbindung 143
5.1 SQL-Datenbanken 143
5.2 MySQL und DBI 145
5.3 Kon.gurieren von MySQL 146
5.4 MySQL-Zugriff mit Perl 151
5.5 Datenbankmanipulationen mit DBI 154
5.6 Ausbau der sql-lib.pl 156
5.7 Backup von MySQL 161
5.8 Zusammenfassung 162
6 Session-Management 167
6.1 Client-Sessions vs. Server-Sessions 167
6.2 Login-Mechanismus 168
6.3 Sicherheitslücken 177
6.4 Useraccount-Verwaltung 178
6.5 Client-Cookies 191
6.6 Login-Timout 196
6.7 Keepalive 198
6.8 Verschlüsselte Passwörter 199
6.9 Zusammenfassung 202
7 Ein komplettes Redaktionssystem 209
7.1 File-Upload 209
7.2 Beliebige Dateiformate als Content 212
7.3 Verschiedene Dokumentenklassen 215
7.4 Zusammenfassung 265
8 Spezielle Ausgabemöglichkeiten 267
8.1 WAP und WML 267
8.2 Mailing-Listen 272
8.3 Besucherauthentifikation 292
8.4 Dynamische PDF-Generierung 292
8.5 Der CSV-Export 297
8.6 Der XML-Export 306
8.7 Der HTML-Export 312
8.8 Upload per FTP 319
8.9 Archivierung auf CD-ROM 324
8.10 Zusammenfassung 334
9 Apache-Module 337
9.1 Kompilieren von Perl-Code 337
9.2 Apache-Perl-Module 338
9.3 Vorkompilierte Module 343
9.4 Persistente Datenbankverbindung 345
9.5 mod_perl und virtuelle Hosts 347
9.6 mod_perl und Apache2 350
9.7 Zusammenfassung 352
10 Aufbau eines Application-Servers 353
10.1 Netzwerkkonfiguration 353
10.2 Virtuelle Hosts 356
10.3 SSL 358
10.4 Applikationseigene Apache-Prozesse 363
10.5 Apache mit einkompiliertem mod_perl 368
10.6 Zusammenfassung 370
11 Externer Content 371
11.1 LWP und XML 371
11.2 Net::Google 380
11.3 Finance::Quote 382
11.4 NNTP-Newsserver 388
11.5 Whois-Abfrage 393
11.6 Zusammenfassung 400
12 Eine Bilddatenbank 403
12.1 Dynamische Bildbearbeitung 403
12.2 Diagramme 411
12.3 Archiveren von Bilddateien 417
12.4 Erweiterungen für die Bilddatenbank 450
12.5 Zugriffskontrolle 464
12.6 Zusammenfassung 466
13 Eine Audiodatenbank 467
13.1 Archivieren von Audiodaten 467
13.2 Audiodaten hörbar machen 488
13.3 Import von Audiodaten 500
13.4 Zusammenfassung 502
A Referenz zu Image::Magick 505
A.1 Erzeugen, Lesen und Schreiben 505
A.2 Bildparameter 506
A.3 Methoden zur Bildmanipulation 510
A.4 Fehlerrückgabe 515
B HTTP-Header517
C Umgebungsvariablen 523
D HTML-Form-Elemente529
D.1 Das Text-Eingabefeld 529
D.2 Das Passwort-Eingabefeld 530
D.3 Das Hidden-Field 530
D.4 Die Textarea 530
D.5 Die Checkbox 531
D.6 Der Radiobutton 531
D.7 Das Auswahlfeld 532
D.8 Das Datei-Eingabefeld 532
D.9 Der Submit-Button 533
E Inhalt der CD-ROM 535
Index 537
1 Das klassische Kontaktformular 27
1.1 Das Kontaktformular 27
1.2 Parameter beim Aufruf von CGI-Skripten 32
1.3 Weiterleitung auf eine andere URL 36
1.4 Mail-Versand 38
1.5 Datum und Uhrzeit des Servers 40
1.6 Identifizieren des Browser-Clients 41
1.7 Kleine Hilfen mit JavaScript 43
1.8 Zusammenfassung 45
2 Embedded Perl 51
2.1 CGI à la PHP 51
2.2 Einsetzen von Perl-Code 55
2.3 Formulare 58
2.4 Erkennen von HTML-Tags 61
2.5 Cookies 63
2.6 Objektorientierte Webseiten 65
2.7 Zusammenfassung 68
3 Die Template-Engine 71
3.1 "Hello World" im Template 71
3.2 Ein Template-basiertes Gästebuch 75
3.3 Schleifen im Template 79
3.4 If-Abfragen im Template 86
3.5 Das Browser-Cache-Problem 87
3.6 Stylesheets in Templates 88
3.7 Arbeiten mit Frames 92
3.8 Zusammenfassung 95
4 Eine Flatfile-Datenbank 101
4.1 Archivieren von Daten in ASCII-Dateien 101
4.2 Kurzer Rückblick: Datenbankkonzept 121
4.3 Integration in eine Website 122
4.4 Alternative Datenquellen 132
4.5 Zusammenfassung 136
5 SQL-Anbindung 143
5.1 SQL-Datenbanken 143
5.2 MySQL und DBI 145
5.3 Kon.gurieren von MySQL 146
5.4 MySQL-Zugriff mit Perl 151
5.5 Datenbankmanipulationen mit DBI 154
5.6 Ausbau der sql-lib.pl 156
5.7 Backup von MySQL 161
5.8 Zusammenfassung 162
6 Session-Management 167
6.1 Client-Sessions vs. Server-Sessions 167
6.2 Login-Mechanismus 168
6.3 Sicherheitslücken 177
6.4 Useraccount-Verwaltung 178
6.5 Client-Cookies 191
6.6 Login-Timout 196
6.7 Keepalive 198
6.8 Verschlüsselte Passwörter 199
6.9 Zusammenfassung 202
7 Ein komplettes Redaktionssystem 209
7.1 File-Upload 209
7.2 Beliebige Dateiformate als Content 212
7.3 Verschiedene Dokumentenklassen 215
7.4 Zusammenfassung 265
8 Spezielle Ausgabemöglichkeiten 267
8.1 WAP und WML 267
8.2 Mailing-Listen 272
8.3 Besucherauthentifikation 292
8.4 Dynamische PDF-Generierung 292
8.5 Der CSV-Export 297
8.6 Der XML-Export 306
8.7 Der HTML-Export 312
8.8 Upload per FTP 319
8.9 Archivierung auf CD-ROM 324
8.10 Zusammenfassung 334
9 Apache-Module 337
9.1 Kompilieren von Perl-Code 337
9.2 Apache-Perl-Module 338
9.3 Vorkompilierte Module 343
9.4 Persistente Datenbankverbindung 345
9.5 mod_perl und virtuelle Hosts 347
9.6 mod_perl und Apache2 350
9.7 Zusammenfassung 352
10 Aufbau eines Application-Servers 353
10.1 Netzwerkkonfiguration 353
10.2 Virtuelle Hosts 356
10.3 SSL 358
10.4 Applikationseigene Apache-Prozesse 363
10.5 Apache mit einkompiliertem mod_perl 368
10.6 Zusammenfassung 370
11 Externer Content 371
11.1 LWP und XML 371
11.2 Net::Google 380
11.3 Finance::Quote 382
11.4 NNTP-Newsserver 388
11.5 Whois-Abfrage 393
11.6 Zusammenfassung 400
12 Eine Bilddatenbank 403
12.1 Dynamische Bildbearbeitung 403
12.2 Diagramme 411
12.3 Archiveren von Bilddateien 417
12.4 Erweiterungen für die Bilddatenbank 450
12.5 Zugriffskontrolle 464
12.6 Zusammenfassung 466
13 Eine Audiodatenbank 467
13.1 Archivieren von Audiodaten 467
13.2 Audiodaten hörbar machen 488
13.3 Import von Audiodaten 500
13.4 Zusammenfassung 502
A Referenz zu Image::Magick 505
A.1 Erzeugen, Lesen und Schreiben 505
A.2 Bildparameter 506
A.3 Methoden zur Bildmanipulation 510
A.4 Fehlerrückgabe 515
B HTTP-Header517
C Umgebungsvariablen 523
D HTML-Form-Elemente529
D.1 Das Text-Eingabefeld 529
D.2 Das Passwort-Eingabefeld 530
D.3 Das Hidden-Field 530
D.4 Die Textarea 530
D.5 Die Checkbox 531
D.6 Der Radiobutton 531
D.7 Das Auswahlfeld 532
D.8 Das Datei-Eingabefeld 532
D.9 Der Submit-Button 533
E Inhalt der CD-ROM 535
Index 537