# Formulare ausfüllen

Bewegt man sich im Netz, wird man öfters Daten in Web-Formularen eingeben. Das können die Login-Daten für eine Web-Mail-Seite oder ein Forum sein, aber auch die eigene Adresse beim Einkaufen in Web-Shops. Man muss diese Daten in der Regel bei jedem Besuch der jeweiligen Seite eingeben. Das kann iCab dem Anwender aber auch abnehmen oder vereinfachen.

iCab bietet mehrere Möglichkeiten, das Ausfüllen von Formularen auf Web-Seiten zu vereinfachen und zu beschleunigen. Es gibt eine textfeldbasierte Eingabehilfe, die während der Texteingabe die Buchstabenfolge analysiert und automatisch vervollständigt. Oft müssen nur 2-3 Buchstaben eingetippt werden, um einen vollständiges Wort vorgeschlagen zu bekommen. iCab kann zudem komplette Formulare auf Knopfdruck speichern und auf Knopfdruck später wieder ausfüllen.

Alle Ausfüllhilfen für Web-Formulare sind über `Werkzeuge > Formular-Manager` konfigurierbar und werden im Schlüsselbund von Mac OS X verschlüsselt gespeichert.

Der Schlüsselbund händigt aus Sicherheitsgründen nicht jedem Programm seine Daten einfach so aus. Normalerweise darf nur das Programm Daten abholen, welches die Daten auch angelegt hat. Daher muss nach einem iCab-Update in der Regel dem Schlüsselbund erst erlaubt werden, dass auch die neue iCab-Version auf die Daten zugreifen darf, die die alte iCab-Version dort gespeichert hat.

Das ist kein Fehler von iCab, sondern ein normales und sicheres Verhalten.

## Formular-Manager

Im Formular-Manager gibt es drei Tabs und jeder Tab beschreibt eine andere Formular-Ausfüllhilfe.

Eingabefelder
  Das ist die textfeldbasierte Ausfüllhilfe. Man kann hier eine beliebige Anzahl von Wörtern und Phrasen eingeben, die man irgendwo in Web-Formularen auch eingeben würde. Also z. B. Vorname, Nachname, Ort, PLZ, E-Mail-Adressen usw. Jeder Listeneintrag sollte dabei einer möglichen Eingabe eines Formulars entsprechen.

  Ist diese Ausfüllhilfe eingeschaltet, prüft iCab während der Texteingabe in Formularfeldern, ob die Eingabe dem Anfang eines der Wörter oder Phrasen aus der Liste entspricht. Wenn ja, ergänzt iCab den Rest der Eingaben automatisch. Auf diese Weise muss man oft nur 2-3 Zeichen pro Eingabefeld eintippen, der Rest wird von iCab automatisch vorgeschlagen.

  Diese Ausfüllhilfe lässt sich mit allen Formularen nutzen (insbesondere auch für Formulare auf neuen und noch unbekannten Web-Seiten) und beschleunigt die Eingabe aller oft einzugebenden Daten.

Alle Formulare
  Diese Ausfüllhilfe ist nicht auf einzelne Eingabefelder ausgerichtet, sondern adressiert komplette Formulare und kann auf viele (auch unbekannte) Formulare angewendet werden.

  Auch hier füllt iCab beliebige Formulare anhand der hier in der Liste bereitgestellten Daten aus. D. h. man muss zunächst einmal Daten in dieser Liste eintragen. Geeignet sind hier alle Daten, die man in vielen Web-Seiten eingeben würde, also z. B. Name, Ort, Strasse, E-Mail-Adresse usw. Aber Vorsicht, hier keine Login-Daten oder Passwörter angeben.

  Die Liste für die Daten besteht aus zwei Spalten: "Feldname" und "Wert". Der "Feldname" ist der von der Web-Seite verwendete (interne) Name für das Eingabefeld, der "Wert" ist der Text, den iCab in dieses Textfeld beim automatischen Ausfüllen einsetzen soll. Der "Feldname" ist leider nicht immer eindeutig, denn jede Web-Seite kann den nach belieben selbst festlegen. Daher gibt es auch keine Garantie, dass iCab alle Formulare aufgrund der hier eingestellten Daten vollständig ausfüllen kann. Aber normalerweise verwenden Web-Designer für die "Feldnamen" tatsächliche Namen, die der Bedeutung der Eingabe auch entsprechen, sodass es in den meisten Fällen auch klappt. Außerdem erlaubt iCab es, eine ganze Liste von Namen anzugeben (jeweils durch Komma getrennt und ohne Leerzeichen), damit man die Trefferquote durch Angabe vieler potentiell genutzter Feldnamen erhöhen kann.

  Beispiel:

  Feldname | Wert
  --- | ---
  city,stadt,ort,town | Frankfurt
  country,land | Deutschland
  email,mail | max.mustermann@musterstadt.invalid
  address,adresse,street,strasse | Schlossallee 56

  Da viele Web-Seiten (auch deutschsprachige) intern englische Bezeichner für Feldnamen verwenden, werden hier im Beispiel auch Feldnamen in mehreren Sprachen angegeben. Je mehr alternative Feldnamen man angibt, desto mehr Web-Seiten werden abgedeckt. Verwendet eine Web-Seite zufällige Buchstabenkombinationen für Feldnamen (z. B. "khsiop"), wird man diese Seite vermutlich nicht ansprechen können und diese Formulare werden nicht automatisch ausgefüllt.

  Das Ausfüllen selbst finden statt, wenn man im Menü `Darstellung > Formulare ausfüllen` auswählt, oder den Button "Formulare ausfüllen" in der Navigationsleiste klickt. Fehlt dort der Button, kann er durch die Konfiguration der Navigationsleiste (z. B. über das Kontextmenü) angezeigt werden.

Spezielle Web-Seiten
  Diese Ausfüllhilfe richtet sich auf komplette Formulare spezieller Web-Seiten. Damit man diese Ausfüllhilfe verwenden kann, muss man die jeweilige Web-Seite normal besuchen, das Formular ausfüllen und im Menü `Darstellung > Formulare speichern` wählen. Oder über die Navigationsleiste den Button "Formular speichern" drücken. Danach hat iCab alle Formulardaten gespeichert und die URL der Seite wird in der Liste aufgeführt.

  Besucht man später diese Web-Seite wieder, muss man nur im Menü `Darstellung > Formulare ausfüllen` auswählen (oder den Button "Formulare ausfüllen" in der Navigationsleiste klicken) und das Formular wird wieder vollständig ausgefüllt.

  Wählt man zusätzlich die Option "Formulare automatisch beim Betreten der Web-Seite ausfüllen", muss man noch nicht mal den Menüpunkt oder Button "Formulare ausfüllen" verwenden, nach dem Laden der Web-Seite füllt iCab das Formular automatisch aus.

  iCab merkt sich beim Speichern von Formulardaten auch sehr viele der unsichtbaren internen Daten und Parameter des Formulars. Bevor iCab Formulare ausfüllt, prüft es anhand dieser internen Formulardaten, ob es sicher ist, die gespeicherten Daten in diesem Formular einzutragen, oder, ob es sich nur um ein ähnliches Formular handelt. Es könnte gefährlich sein, würden z. B. Passwörter eingetragen und an Web-Server gesendet.

  Die meisten anderen Browser prüfen hier fast gar nichts und tragen alle Daten in alle Formulare ein, die ansatzweise ähnlich aussehen. Das macht das Ausfüllen zwar sehr bequem für den Anwender, weil es auch dann noch funktioniert, wenn sich das Layout und die interne Struktur einer Web-Seite stark ändert (was ja öfters mal bei vielen Web-Seiten passiert), birgt aber auch die große Gefahr, dass gefälschte Formulare von Kriminellen als "echt" durchgehen und so sensible Daten wie Passwörter durch das automatische Ausfüllen von Formularen (also ohne Zutun und ggfs. ohne Wissen des Anwenders) gestohlen werden können.

  Durch diese strenge Prüfung der Formulardaten versucht iCab zu verhindern, dass sensible Daten in falsche Formulare eingetragen werden. Leider gibt es einige Web-Seiten, die bei jedem Aufruf der Seite einige Paramater der Formulare ändern und so das automatische Ausfüllen verhindern. In der Regel handelt es sich bei diesen Parametern um eine sogenannte "Session ID". Dies ist eine eindeutige Kennzeichnung, um den Anwender, während er auf der Web-Seite surft, eindeutig erkennen und verfolgen zu können, oder um zu verhindern, dass bestimmte Aktionen doppelt vorgenommen werden (jede Aktion bekommt eine ID, wird die ID ein zweites Mal verwendet, wird das erkannt und kann ausgefiltert werden), usw. Eine solche SessionID kann aber dazu führen, dass iCab das Formular nicht automatisch ausfüllt, weil ja dadurch das Formular jetzt andere Parameter besitzt, als das noch beim Speichern der Formulardaten der Fall war.

  Um das Problem der SessionID zu lösen, kann man die gespeicherten Formulardaten von iCab einsehen und ändern. Hierzu doppelklickt man auf den entsprechenden Eintrag in der Liste. Es öffnet sich eine weitere Liste mit allen gespeicherten Formulardaten. Diese Liste besteht aus zwei Spalten: "Name" und "Wert". "Name" bezeichnet das Formularelement, der "Wert" den Wert, den dieses Feld hat. Sieht der Wert nach einer zufälligen Folge von Buchstaben und Zahlen aus, ist dies höchst wahrscheinlich eine Art Session ID, die sich bei jedem Aufruf der jeweiligen Seite ändert. Ersetzt man diesen Wert nun durch ein "*", akzeptiert iCab von nun an jeden beliebigen Wert. Der Stern "*" ist ein Joker-Zeichen und steht für eine beliebige Zahl von Zeichen. Durch Joker-Zeichen kann man also die Werte der Formulardaten abändern, sodass iCab für diese Formularelemente auch andere Daten akzeptiert. Hierbei sollte man aber vorsichtig sein, nicht zu viele Daten zu ändern. Ändert man zuviel, steigt das Risiko, dass ein falsches Formular doch Daten abgreifen kann, die es gar nicht bekommen dürfte.

  Die höhere Sicherheit von iCab hat somit einen Einfluss auf die Bequemlichkeit.

  Stellt man die Prüfung der Formulare weniger streng ein, werden auch weniger Details der Formulare überprüft und mehr Web-Seiten können automatisch ausgefüllt werden. Aber dabei geht auch die Sicherheit verloren, die ein strenge Prüfung bringt.