Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

In der Praxis ist dieses Beispiel nicht unbedingt ein Vorzeigeprojekt zum Thema ?Sicherheit", da der Webbesucher alles lesen darf.
Es besteht jedoch nicht die Möglichkeit, daß ein Datensatz eingefügt oder gelöscht wird, weil die eigentliche Datengewinnung mit dem ?unload" - Befehl beginnt. Würde der Anwender z.B. ?insert into ..." eingeben führt dies zu einem Syntaxerror. 
? ?unload to <Datei> insert into <Tabelle> macht keinen Sinn.

...

Trotz dieser Sicherheitseinschränkungen ist es ein brauchbares Beispiel, weil der Benutzer die Menge und die Sortierung der Daten selbst gestalten kann, sowie durch die Quellcodeansicht des Browsers auch eine Art Exportfunktion hat.

In der Praxis wird man aber dem Benutzer der kein SQL beherrscht lieber eine Auswahlliste der zu suchenden Daten anbieten oder nur ein Textsuche, bei der der eigentliche SQL-Befehl im Script erzeugt wird.

Code Block
<HTML>
<HEAD><TITLE>Lokale Abfrage in Datenbank Informix</TITLE></HEAD>

<BODY>
<FORM NAME="ABFRAGE" ACTION="/cgi-keipke/db_local.sh">
SQL-Befehl: 
<INPUT TYPE="text" NAME=SQLBEFEHL SIZE=100 MAXLENGTH="100"><BR>
<INPUT TYPE="submit" VALUE="Abfrage starten">
<INPUT TYPE="reset" VALUE="Eingabeform l&ouml;schen">
</FORM>
</BODY>
</HTML>

...

Bild 15: Inhalt der Datei /cgi-bin/db_local.sh

Das Ergebnis der Anfrage sieht dann im Browser z.B. so aus:

Bild 16: Ergebnis der Datenbankabfrage mit dem Script
/cgi-bin/db_local.sh

Realisierung in ?Perl"

Perl ist eine Scriptsprache, ähnlich UNIX-Shellscript. Sie erfreut sich aber größerer Beliebtheit, insbesondere unter der großen Gemeinde der C-Programmierer, weil die Syntax ähnlich der C-Syntax ist. Zusätzlich ist die Vereinbarung von Variablen sehr einfach, weil unnötig wie in allen Interpreter - Sprachen.

Eine sehr gute Sprachbeschreibung von Perl finden Sie unter: http://de.selfhtml.org/perl/index.htm

Als ?praktisches Anschauungsstück" soll hier das Beispiel des Counters aus dem Abschnitt 3.2.2.1 dienen. Hierbei werden die wichtigsten Kenntnisse vermittelt.

...