URL-Parameter flexibilisieren

[Start]  [Zurück]  [Vorwärts]  

Oftmals werden beim Aufruf einer Webseite sitzungsspezifische Werte an den Webserver gesendet. Somit soll z.B. die Gültigkeit einer Sitzung sichergestellt werden. Diese Werte werden von HAN bei der Aufnahme fest in Parameter geschrieben. Zunächst wird dieses Skript funktionieren. Bei einem späteren Aufruf, wenn die Gültigkeit der Sitzung abgelaufen ist, schlägt das Skript jedoch fehl. HAN bietet deshalb die Option, URL-Parameter zu flexibilisieren, damit das E-Skript stets einen adäquaten Wert sendet. HAN sendet nicht den ursprünglich im Skript gespeicherten Wert eines Parameters, sondern den aktuellen, der in der Sitzung vom Webserver des Anbieters verwendet wird. Wir erläutern dies an folgendem Beispiel:

 

1. Erstellen Sie ein neues E-Skript mit der Start-URL http://www.hh-han.com/testarea/cookie/index.cfm?lg=1 und starten Sie direkt die Skriptaufnahme (Erstellen/und Starten der Aufnahme im Skripteditor). Wie Sie HAN E-Skripte erstellen, lesen Sie im Kapitel „E-Skripte erstellen/Ohne manuelle Skriptaufnahme".

 

2. Geben Sie die Anmeldedaten HAN (Benutzername) und HAN (Passwort) ein und klicken Sie Anmelden.

 

3. Beenden Sie die Skriptaufnahme über Beenden. Nach Abschluss der Skriptaufnahme sehen Sie folgende Einträge im Skripteditor:

 

tip Wir haben unser Skript bereits optimiert und nicht benötigte URLs entfernt. Wie Sie Ihre Skripte optimieren, lesen Sie im Kapitel „E-Skripte erstellen/Mit manueller Skriptaufnahme".

 

script_param01

 

Die Parameter CFID und CFTOKEN sind URL-Parameter, deren Wert sich bei jedem Aufruf ändert.

 

tip Vielleicht erkennen Sie die URL-Parameter, deren Wert sich bei jedem Aufruf ändern kann, nicht sofort. In diesem Fall ist es hilfreich, wenn Sie das Zugangsskript zeitlich versetzt mit unterschiedlichen Namen neu anlegen und die Werte der Parameter vergleichen.

 

4. Öffnen Sie mit einem Doppelklick die Eigenschaften des Parameters CFID.

 

3. Im Dialog URL-Parameter bearbeiten wählen Sie unter Parameter die Option soll für die Anmeldung verwendet werden - Benutzer (_HANURL_USER_) und klicken Sie OK:

 

script_param02

 

Der Wert des Parameters CFID wird durch die Variable _HANURL_USER_ ersetzt.

 

tip HAN ersetzt sowohl den Parameter in der selektierten URL, als auch an jeder weiteren Stelle im Skript.

 

6. Öffnen Sie die Eigenschaften des URL-Parameter CFTOKEN und wählen Sie unter Parameter die Option soll für die Anmeldung verwendet werden - Passwort (_HANURL_PASSWORD_):

 

script_param04

 

Nach der Bestätigung über OK ersetzt HAN alle Vorkommen des Parameter CFTOKEN durch die Variable _HANURL_PASSWORD_:

 

script_param05

 

7. Testen Sie das E-Skript, indem Sie im Menüband die Schaltfläche Test klicken. Die geladene Webseite zeigt Ihnen die aktuellen Werte der Parameter CFID und CFTOKEN.

 

Optionen zur Flexibilisierung von URL-Parametern:

Eine Methode zur Flexibilisierung haben Sie bereits im obigen Beispiel kennengelernt. Wir haben per Doppelklick die Eigenschaften eines Parameters geöffnet und den Werten der Anmeldung die vordefinierten HAN Variablen für Benutzer und Passwort zugewiesen. Außerdem bietet HAN die Möglichkeit, einen zufälligen Wert durch eine nicht zweckgebundene Variable zu ersetzen. Neben Parametern flexibilisieren Sie Sitzungs-IDs auch in URLs.

 

warning HAN kann den Wert eines Parameters nur ersetzen, wenn dieser HAN bekannt ist. Einige Parameter stehen jedoch als so genannte „hidden" Formularfelder (Formularfelder, die nicht in der Webseite dargestellt werden) in den Webseiten und werden von HAN dort ausgelesen. Bekanntes Beispiel ist der Parameter _Viewstate, der in ASP-Seiten verwendet wird. Wenn direkt flexibilisierte Daten über HAN an den Webserver des Providers gesendet werden (Methode POST), sendet HAN den falschen Wert. Lösung: Rufen Sie zuerst die Webseite über die Methode GET auf und senden Sie dann den flexibilisierten Wert über POST.

 

Parameter wird zur Anmeldung benutzt:

Per Doppelklick definieren Sie in den Parametereigenschaften die Ersetzung von Anmeldewerten mit den Variablen _HANURL_USER_ für den Anmeldenamen und _HANURL_PASSWORD_ für das Passwort. Unter Parameter bietet HAN folgende Optionen:

 

script_param06

 

hat einen festen Wert. Der Parameter hat einen festen Wert, der sich niemals ändert und genauso an den Server des Anbieters gesendet wird.

soll für die Anmeldung verwendet werden - Benutzer (_HANURL_USER_). Der Parameter stellt den Anmeldenamen dar, der Wert wird mit der vordefinierten HAN Variablen für den Anmeldenamen, _HANURL_USER_, ersetzt.

soll für die Anmeldung verwendet werden - Passwort (_HANURL_PASSWORD_). Der Parameter stellt das Anmeldepasswort dar, der Wert wird mit der vordefinierten HAN Variablen für das Anmeldepasswort, _HANURL_USER_, ersetzt.

 

Beispiel: Wir erstellen ein E-Skript für das fiktive „onlinejournal.com". Dieses erfordert eine Authentifizierung mit Benutzername und Passwort. Außerdem verwendet es ein verstecktes Formularfeld (__VIEWSTATE):

 

script_param07

 

Die beiden Werte der für die Anmeldung verantwortlichen Parameter werden wie in der obigen Anleitung erläutert durch die Variablen für Benutzername und Passwort ersetzt. Der Wert des Parameters __VIEWSTATE wird durch eine nicht zweckgebundene Variable flexibilisiert. Wie Sie solch einen Parameter flexibilisieren, lesen Sie im Abschnitt „Parameter hat einen zufälligen Wert". Trotzdem scheitert der Aufruf des Skripts, da HAN den aktuellen Wert des Parameters __VIEWSTATE nicht kennt. Wird dagegen die Seite /home.aspx zuerst separat über die Methode GET geladen, kann HAN den HTML-Code auslesen und die notwendigen Parameter bestimmen:

 

script_param08

 

Parameter hat einen zufälligen Wert:

Weist ein Parameter einen zufälligen Wert auf, z.B. eine Sitzungs-ID, verwenden Sie die vordefinierte HAN Variable _HANURL_N_. Um diese zuzuweisen, verwenden Sie die Flexibilisierungsfunktion von HAN. Anstatt einfach die Eigenschaften eines Parameters zu öffnen, markieren Sie den Parameter, öffnen per Rechtsklick das Kontextmenü und wählen Flexibler Parameter. Unter Parameter bietet HAN die folgenden Optionen:

 

script_flex02

 

hat einen festen Wert. Der Parameter hat einen festen Wert, der sich niemals ändert und genauso an den Server des Anbieters gesendet wird.

kann unterschiedliche Werte enthalten - Ersetzen nur bei gleichem Parameternamen und Wert. HAN ersetzt den Wert überall dort im Skript, wo der Wert mit dem entsprechenden Parameter verknüpft ist, also Wert und Parameter ein Paar bilden.

kann unterschiedliche Werte enthalten - Ersetzen bei gleichem Wert. HAN ersetzt den Wert überall dort im Skript, wo der Wert erscheint, egal mit welchem Parameter. Sie müssen unter Ersetzen in definieren, wo der Parameterwert ersetzt wird.

 

Ersetzen bei gleichen Parameternamen und Werten:

HAN ersetzt die Werte des selektierten Parameters, bei denen Namen und Wert mit dem aufgenommen Wert übereinstimmen. Wählen Sie unter Der Parameter die Option kann unterschiedliche Werte enthalten - Ersetzen nur bei gleichem Parameternamen und Wert. Unter Wert wird der Wert automatisch durch eine Variable ersetzt:

 

script_flex03

 

Ersetzen nur bei gleichen Werten:

HAN ersetzt den Wert des selektierten Parameters, auch wenn dieser an anderer Stelle vorkommt, z.B. in einer URL oder als Bestandteil des Wertes eines anderen Parameters. Es reicht, wenn der Wert übereinstimmt. Wählen Sie diese Option, müssen Sie unter Ersetzen in definieren, wo der Wert ersetzt wird. Sonst wird nur der aktuell gewählte Parameterwert flexibilisiert. Auch die Angabe eines Parametertrennzeichens ist zwingend erforderlich. Wählen Sie unter Der Parameter die Option kann unterschiedliche Werte enthalten - Ersetzen bei gleichem Wert. Unter Wert wird der Wert automatisch durch eine Variable ersetzt. Unter Ersetzen in aktivieren Sie die jeweiligen Kontrollkästchen, wenn der Wert zusätzlich in URLs und in weiteren Parametern vorkommt. Für die Option Trennzeichen geben Sie im Eingabefeld das Trennzeichen ein:

 

script_flex04

 

Beispiel: Das fiktive Onlinemagazin „onlinemag.com" zeigt auf der Startseite jeweils aktuelle Publikationen, die turnusmäßig wechseln. Ein Skript sieht folgendermaßen aus:

 

script_flex06

 

Im Beispiel wurden die Parameter der Anmeldung bereits flexibilisiert. Dieses Skript ist voll funktionsfähig. Allerdings hat es den Nachteil, dass immer dieselbe Publikation nach der Anmeldung gezeigt wird. Der Parameter isbn muss so flexibilisiert werden, dass der Wert nicht nur für den Parameter isbn selbst geändert wird, sondern auch in den Werten der Parameter goto_url und chrome. Das Parametertrennzeichen ist hier „/“. Öffnen Sie das Kontextmenü des Parameters isbn und wählen Sie Flexibler Parameter. Im Dialog URL-Parameter für das Skript vergeben wählen Sie unter Der Parameter die Option Kann unterschiedliche Werte enthalten - Ersetzen bei gleichem Wert:

 

script_flex07

 

Unter Ersetzen in selektieren Sie den Parameterwerten und geben als Trennzeichen / ein. Die Option der URL kann deselektiert bleiben, da in den URLs kein Wert des Parameters eingebunden ist. HAN ersetzt alle Werte, die dem Wert des Parameters isbn entsprechen – im gesamten Skript. Nach der Flexibilisierung sieht das Zugangsskript so aus:

 

script_flex08

 

Ersetzen einer Session-ID in einer URL:

In einigen Fällen ist die Sitzungskennung (Session-ID) nicht als URL-Parameter an die URL angehängt, sondern fester Bestandteil der URL selbst. Auch in diesem Fall ist es möglich, den Wert als Teil der URL zu ersetzen. Ein Beispiel:

 

1. Die URL http://www.server.com/directory/908735cd12/file.htm enthält die Session-ID 908735cd12. Selektieren Sie die URL und öffnen Sie per Rechtsklick das Kontextmenü.

 

2. Im Kontextmenü wählen Sie Flexibler Parameter.

 

3. Im Dialog Teil einer URL in diesem Skript als flexiblen Parameter ersetzen wählen Sie den Bereich der URL, der vor dem gewünschten Trennzeichen steht, damit HAN ermitteln kann, welcher Teil der URL flexibilisiert wird:

 

script_flex05

 

Unter Parameter sehen Sie links den Parameternamen, rechts daneben die HAN Variable, die den Wert ersetzt.

 

4. Bestätigen Sie mit OK, um die Sitzungs-ID in der URL gemäß den Einstellungen zu flexibilisieren.