> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Formulare mit INQUIRY4

> Das Formularprogramm INQUIRY4-External für Kontakt-, Support- und Serviceformulare, mit Schutzfunktionen gegen Spam und dem Aufruf der Formulare.

INQUIRY4-External ist ein externes WEBSALE-Modul für individuelle Kontakt-, Support- und Serviceformulare. Die Formulare lassen sich an beliebigen Stellen im Shop-Frontend einbinden, Links darauf überall platzieren, und Look-and-Feel gestalten Sie über HTML und CSS selbst. Für die Arbeit mit INQUIRY4 brauchen Sie Grundkenntnisse in HTML.

Diese Seite beschreibt, was das Programm leistet und wie ein Formular aufgerufen wird. Die weiteren Seiten dieses Kapitels gehen in die Details.

| Seite | Inhalt |
| - | - |
| [Grundlagen für Anfrageformulare](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/grundlagen.md) | Welche Dateien ein Formular braucht, wo sie liegen und wie Eingabefelder benannt werden |
| [Konfigurationsdatei](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/konfigurationsdatei.md) | Alle Parameter der Formular-Konfiguration, von den E-Mails über CAPTCHA bis zum Blacklisting |
| [Globale Konfigurationsdatei](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/globale-konfiguration.md) | Die Schutzregeln in `inquiry-global.config`, von IP-Reputationslisten bis zu eigenen RegEx-Filtern |
| [Tags und Templates](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/tags-und-templates.md) | Alle Tags für Formular-, Bestätigungs- und E-Mail-Templates |
| [Verwendung mit WEBSALE E-Commerce](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/verwendung-im-shop.md) | Stylesheet-Klassen und die Einbindung über WS-ExternInclude |
| [Anhang](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/anhang.md) | Nicht mehr unterstützte Parameter und Tags |

## Einleitung

### Allgemeine Anwendung des Programms

INQUIRY4 ist ein universelles Formularprogramm, mit dem auf einfache Art beliebige Anfrage-Formulare betrieben werden können.

INQUIRY4 ist ein CGI-Programm, das gänzlich auf Java-Applets, Java-Scripts und Cookies verzichtet. Es unterstützt daher alle Browser auf dem Markt.

INQUIRY4 bearbeitet und kontrolliert die Eingaben von Anfrageformularen und sendet die Eingaben per E-Mail an einen Formularempfänger. Alternativ können alle Anfragen über den Online-Servicebereich (OSB) von WEBSALE in der Übersicht und im Detail angesehen werden.

INQUIRY4 wurde zur Verwendung in Verbindung mit WEBSALE E-Commerce Shops entwickelt. Eine Nutzung des Programms ist auch ohne Shop möglich.

### Verbrauch von Leistungseinheiten

Genauso wie bei jedem anderen Aufruf eines Programms am Server wird auch beim Aufruf von INQUIRY4 Rechenleistung benötigt. Daher wird der Leistungsverbrauch ebenfalls über die Leistungseinheiten mit abgerechnet.

Sofern INQUIRY4 über WS-ExternInclude innerhalb einer Shopseite in WEBSALE E-Commerce integriert aufgerufen wird, entsteht sowohl für den Aufruf von INQUIRY4 als auch für den Aufruf von WEBSALE E-Commerce Rechenleistungsbedarf und Laufzeit.

Es besteht jedoch eine einfache Möglichkeit einzelne Eingabefelder auf jeder oder vielen Shopseiten anzuzeigen ohne den zusätzlichen Bedarf an Leistungseinheiten oder Laufzeit. (siehe „Einzelnes Formular-Eingabefeld auf jeder Shopseite“)

## Besondere Funktionen des Programms

### Refererschutz

Der HTTP-Referer-Schutz ist von der WEBSALE AG für INQUIRY4 entwickelt worden, da es im Internet Anbieter gibt, die für deren Kunden automatisiert Formulare ausfüllen und so mit Leichtigkeit mehrere tausend Anfragen pro Stunde generieren können. Dies sind insbesondere Anbieter, die für ihre Kunden Gewinnspiele oder Kataloganfragen etc. automatisiert ausfüllen. Ein auf diese Art an Ihrem Gewinnspiel teilnehmender "Kunde" kennt Sie also weder, noch hat er Ihre Website angesehen oder einem Newsletterversand zugestimmt. Für Sie ist er damit weitgehend wertlos.

Auch im Bereich der Kataloganforderungsformulare besteht durch derartige Anbieter das Risiko, dass hohe Kosten ohne entsprechenden Mehrwert entstehen, da die Kataloge nicht an tatsächlich interessierte Kunden Ihres Angebots gehen würden.

### Prüfung und Erhalt der Benutzer-Eingaben

Vor dem Absenden eines Formulars werden die erforderlichen Eingabefelder geprüft, ob sie ausgefüllt sind.

Wird das Formular unvollständig ausgefüllt, so wird die Formularseite erneut mit Hinweisen zu den fehlenden Feldern angezeigt. Alle bis dahin gemachten Eingaben bleiben voll erhalten. Dies ergibt eine angenehme Benutzerführung und die unter Umständen fehlerträchtige Verwendung des "Back-Button" des Browsers ist nicht erforderlich.

### SPAM-Vermeidung

Für die SPAM-Vermeidung stellen wir Ihnen verschiedene Möglichkeiten zur Verfügung:

#### CAPTCHA-Unterstützung

Verschiedene, optionale CAPTCHA-Funktionen zur SPAM-Vermeidung können verwendet werden:

* **CAPTCHA-Funktion der WEBSALE AG**. Kein JavaScript erforderlich und stets verfügbar.
  Der Anfragende muss eine kleine Rechenaufgabe lösen, um die Anfrage abzusenden
* **Externe CAPTCHA-Funktion „ReCaptcha“** mittels Bilderkennung und höchster Sicherheitsstufe. JavaScript ist erforderlich. Die Verfügbarkeit wird jedoch nicht garantiert. Der Anfragende muss eine Zeichenkette aus einem Bild ablesen und korrekt in ein Eingabefeld eingeben, um die Anfrage abzusenden.
* [**Friendly Captcha**](https://friendlycaptcha.com/) - Sie können das Friendly Captcha-Widget in Ihre Webanwendung einbauen, um Spam zu bekämpfen, ohne die Benutzerfreundlichkeit zu beeinträchtigen.
  Friendly Captcha sendet dem Benutzer ein kryptografisches Rätsel, das Gerät des Benutzers benötigt einige Sekunden, um dieses zu lösen, der Benutzer muss nichts tun.
* [**captcha.eu**](https://www.captcha.eu/) - Datenschutzfreundliches CAPTCHA-System aus der EU. Es setzt auf eine non-intrusive Verifizierung, die vollständig ohne Benutzereingriff funktioniert. Es gibt keine sichtbaren Aufgaben für den Nutzer. Zudem werden keine Tracking-Technologien eingesetzt, sodass captcha.eu höchste Datenschutzstandards gemäß der DSGVO erfüllt.

#### Blacklisting

Zur SPAM-Vermeidung können unterschiedliche Blacklists (beispielsweise auf Basis der IP-Adresse oder des MX-Records) verwendet werden, um bestimmten, unerwünschten Anfragenden bzw. automatisierten Programmen das Absenden einer Anfrage zu unterbinden.

#### Unterstützung von IP-Reputationslisten

Zur SPAM-Vermeidung kann die IP-Adresse des Anfragenden mit frei verfügbaren IP-Reputationslisten abgeglichen werden. Dadurch werden bekannte Spam- oder Angriffsbots automatisch erkannt und blockiert.

Wir haben uns entschieden, drei große, frei verfügbare Anbieter zu unterstützen:

* blocklist.de: erkennt IP-Adressen, die mit Brute-Force-Angriffen auf Server, Mailserver und Webdienste in Verbindung stehen.
* firehol.org: aggregiert verschiedene IP-Blocklisten und stellt optimierte Firewall-Regeln bereit.
* stopforumspam.com: spezialisiert auf die Identifikation von Spam-Bots, die in Foren, Blogs und Kommentarbereichen aktiv sind.

Durch die Aktivierung dieser Funktion kann der Schutz vor Spam und automatisierten Angriffen weiter verbessert werden.

→ [Detaillierte Dokumentation zur Konfiguration von IP Reputationslisten](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/globale-konfiguration.md#konfiguration-von-ip-reputationslisten)

#### Erweiterte Web Application Firewall (WAF)-Prüfungen

Zusätzlich können **verschärfte Web Application Firewall (WAF)-Regeln** für Inquiry4 aktiviert werden. Diese erweiterten Prüfungen helfen, Angriffsversuche frühzeitig zu erkennen und zu blockieren, indem sie beispielsweise SQL-Injections, Cross-Site Scripting (XSS) und andere bekannte Angriffsmuster automatisch identifizieren.

Die aktivierte WAF-Policy setzt die aktuellen Sicherheitsregeln des **OWASP Core Rule Set (CRS)** ein. Da die Sicherheitsregeln regelmäßig aktualisiert werden, empfehlen wir die offizielle Dokumentation des OWASP CRS-Projekts für detaillierte Informationen: 🔗 [OWASP Core Rule Set (CRS) Project](https://coreruleset.org/)

→ [Detaillierte Dokumentation zur Konfiguration Web Application Firewall (WAF)-Prüfungen](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/globale-konfiguration.md#konfiguration-web-application-firewall-waf-prufungen)

#### Eigene Prüfungsmechanismen über REST-Schnittstelle

Da es zahlreiche Anbieter mit unterschiedlichen Preismodellen für SPAM-Erkennung gibt, bieten wir eine **einfache REST-Schnittstelle** für eine individuelle Server-to-Server-Prüfung. So können Sie eine eigene Lösung integrieren, um Anfragen anhand externer Dienste oder interner Algorithmen zu bewerten, bevor diese weiterverarbeitet werden. Dies bietet maximale Flexibilität für Ihre persönliche SPAM-Erkennung.

→ [Detaillierte Dokumentation zur Konfiguration eigener Prüfungsmechanismen über REST-Schnittstelle](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/globale-konfiguration.md#konfiguration-eigener-prufungsmechanismen-uber-rest-schnittstelle)

#### Zeichen-Filterung aus Eingaben

Es können **bestimmte Zeichen** definiert werden, die **automatisch aus Benutzereingaben herausgefiltert** werden. Dies verhindert die Verarbeitung unerwünschter oder potenziell schädlicher Inhalte und verbessert die Sicherheit und Datenintegrität.

→ [Detaillierte Dokumentation zur Konfiguration für das Herausfiltern bestimmter Zeichen aus Eingaben](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/globale-konfiguration.md#konfiguration-fur-das-herausfiltern-bestimmter-zeichen-aus-eingaben)

#### Zusätzliche Inhaltsfilter mittels Regular Expressions

Es können **benutzerdefinierte Regular Expressions (RegEx)** definiert werden, um unerwünschte Zeichenketten oder Muster in den Eingaben zu erkennen und zu blockieren. Dies ermöglicht eine flexible Anpassung an spezifische Anforderungen, wie das Filtern von bestimmten Keywords, verdächtigen Mustern oder schadhaften Skripten.

→ [Detaillierte Dokumentation zur Konfiguration zusätzlicher Inhaltsfilter mittels Regular Expressions](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/globale-konfiguration.md#konfiguration-zusatzlicher-inhaltsfilter-mittels-regular-expressions)

### Verbindung zu WEBSALE-Shops

Benutzerdaten, die in einem WEBSALE-Shop beispielsweise aufgrund eines Benutzer-Logins bereits bekannt sind, können an das Formularprogramm übergeben werden, um dem Benutzer das erneute Ausfüllen beispielsweise von Adressfeldern zu ersparen.

### PDF-Download der Anfrage

Nach Absenden des Formulars kann dem Benutzer angeboten werden, seine Anfrage als PDF herunterzuladen. Das Template, aus dem die PDF-Datei erzeugt wird, ist frei designbar.

### Unterstützung von Dateiuploads

Optional können zu einer Anfrage Dateien vom Benutzer hochgeladen werden. Dies wird durch Verwendung des WEBSALE-Upload-Moduls realisiert. Die hochgeladenen Dateien werden an die E-Mail angehängt, die dem Angefragten zugesendet wird, oder in einem eigenen FTP-Verzeichnis gespeichert.

Ein ausführliches Beispiel für ein Anmeldeformular mit Datei-Upload finden Sie in der Frontend-Dokumentation:

[https://doku.websale.net/index.html?guide\_uploadmodulfuerformulareinquiry.html](https://doku.websale.net/index.html?guide_uploadmodulfuerformulareinquiry.html)

Wenn Sie das WEBSALE-Upload-Modul mit INQUIRY4 verwenden wollen müssen Sie dies für jedes Anfrageformular einzeln beauftragen!

## Aufruf von INQUIRY4-Formularen

Der Aufruf eines Formulars erfolgt über

* den Aufruf des Inquiry-Programms
* mit Angabe einer Shop- und SubshopID und
* Angabe einer Konfigurationsdatei.

In der Konfigurationsdatei (siehe Kapitel Konfigurationsdatei) ist angegeben, welches Formular-Template für das Formular verwendet werden soll.

Beispiel:

```
https://www.ihre-domain.de/cgi/inquiry4.cgi?inq4=<ihre-shopid>.<ihre subshopid>&cfg=<ihre-config>
```

| Parameter | Beschreibung |
| - | - |
| `inq4` | Erforderlicher Aufruf-Parameter.  In diesem Parameter müssen Sie ihre ShopID und ihre SubShopID durch einen Punkt getrennt angeben. |
| cfg (veraltet: ".ini") | Erforderlicher Aufruf-Parameter.  Den Namen der Konfigurationsdatei, beispielsweise „anfrage.config". |
| `m` | Optionaler Parameter  Wenn Sie INQUIRY4 in Verbindung mit einem WEBSALE E-Commerce-Testshop oder DevPack verwenden wollen, müssen Sie im Parameter "m" die MallID angeben, beispielsweise m=test oder m=devpack. |

### Weitere, optionale Parameter

In INQUIRY4 können bereits beim Aufruf ein Teil oder alle Daten der Formularfelder übergeben werden.

Dies wird häufig in Kombination mit dem WEBSALE-Shop verwendet.

Als Parametername wird der HTML-Name des entsprechenden Feldes angegeben. Eine Ausnahme stellt hierbei das Geburtsdatum dar (siehe nächstes Kapitel, “Spezielle Parameter“).

#### Beispiel: Übergabe des Vornamens beim Aufruf von INQUIRY4

Inquiry-URL:

```
.../cgi/inquiry4.cgi?inq4=<ihre-shopid>.<ihre-subshopid>&cfg=<ihre-config>&first_name=Wolfgang
```

**Wichtig:** Bei eingeschaltetem **aktivem Refererschutz** (siehe Kapitel “Refererschutz“) und dabei übergebenem **ungültigem Referer** werden **keine Parameter** übernommen.

### Spezielle Parameter

| Parameter | Beschreibung |
| - | - |
| **a\_dateofbirth\_day** **a\_dateofbirth\_month** **a\_dateofbirth\_year** | Geburtsdatum der Rechnungsadresse  Diese Parameter werden verwendet, um Geburtsdaten zu übergeben, wenn automatisch generierte Listboxen zum Einsatz kommen. |
| **d\_dateofbirth\_day** **d\_dateofbirth\_month** **d\_dateofbirth\_year** | Geburtsdatum der Lieferadresse  Diese Parameter werden verwendet, um Geburtsdaten zu übergeben, wenn automatisch generierte Listboxen zum Einsatz kommen. |
| `ref` | Angabe eines Referers  Dient statistischen Zwecken. Dieser Aufrufparameter sollte nicht verwechselt werden mit dem Konfigurationsparameter “Referer“, der sich auf den HTTP-Referer bezieht (siehe Kapitel „Konfigurationsdatei“ und Kapitel „Refererschutz“). |
| `subref` | Angabe eines SubReferers.  Dient statistischen Zwecken |
| `a-userindex` | Angabe des Userindexes, nur in Verbindung mit dem WEBSALE-Shop. |
| `a-userid` | Angabe der User-ID, nur in Verbindung mit dem WEBSALE-Shop. |
| `immediate` | Erlaubt “One-Klick“-Anfragen. Wenn dieser Parameter auf „yes“ gesetzt ist, werden die mit dem Aufruf des Formularprogramms übergebenen Parameter auf Vollständigkeit geprüft und dann die Anfrage sofort ausgeführt, ohne dass der Anfragende ein Anfrageformular zum Ausfüllen sieht. Er bekommt also unmittelbar die Bestätigungsseite angezeigt.  **WICHTIG: Der Parameter “immediate“ wird nur bei aktivem Refererschutz (siehe oben) verarbeitet!** |

## Verwandte Themen

* [Grundlagen für Anfrageformulare](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/grundlagen.md)
* [Upload-Modul für Formulare mit INQUIRY](https://dokumentation.websale.de/v8s/upload-modul/upload-modul-fuer-formulare-mit-inquiry.md)
* Wegweiser: [Upload-Modul](https://dokumentation.websale.de/v8s/upload-modul/upload-modul.md)


## Related topics

- [Formulare für Kundenanfragen](https://dokumentation.websale.de/v8s/formulare-fuer-kundenanfragen/formulare-fuer-kundenanfragen.md)
- [Verwendung mit WEBSALE E-Commerce](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/verwendung-im-shop.md)
- [Grundlagen für Anfrageformulare](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/grundlagen.md)
- [Tags und Templates](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/tags-und-templates.md)
- [Konfigurationsdatei](https://dokumentation.websale.de/v8s/upload-modul/formulare-mit-inquiry4/konfigurationsdatei.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.