> For the complete documentation index, see [llms.txt](https://wiki.lucysecurity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.lucysecurity.com/lucy-wiki-de/anleitungen/angriffssimulationen/benutzer-umleiten.md).

# Benutzer umleiten

## Weiterleiten mit einer Hyperlink-Vorlage

Wenn Sie eine Hyperlink-Vorlage verwenden, können Sie das Weiterleitungsverhalten direkt in der **Szenarioeinstellungen**. Standardmäßig wird ein Benutzer, der auf den Link in der Angriffs-E-Mail klickt, vom Angriffslink zu dem Ziel weitergeleitet, das Sie in den Einstellungen angeben.

### Weiterleitungs-URL

Um das Ziel des Benutzers nach dem Klicken auf den Link festzulegen, füllen Sie einfach das **Weiterleitungs-URL** Feld in den Szenarioeinstellungen aus. In diesem Feld können Sie jede gültige URL angeben.

{% hint style="info" %}
Um Benutzer direkt zum entsprechenden Awareness-Szenario innerhalb der Kampagne zu leiten, geben Sie einfach die `%awareness%` Variable in das Feld für die Weiterleitungs-URL ein.
{% endhint %}

### Weiterleitungsnachricht

Fügen Sie optional eine Textnachricht ein, die dem Benutzer angezeigt wird, während er weitergeleitet wird.

### Weiterleitungsverzögerung

Zeit zwischen dem Laden der Seite und der Weiterleitung, gemessen in Millisekunden.

{% hint style="info" %}
Zum Beispiel entspricht der Wert 5000 = 5 Sekunden
{% endhint %}

<figure><img src="/files/104bb5dd89ab0979b4044e42b8ca35d4e6c97f64" alt=""><figcaption></figcaption></figure>

## Weiterleiten von einer webbasierten Vorlage

Sie können Benutzer aus webbasierten Vorlagen weiterleiten, indem Sie der `account.html` Seite einfach ein Weiterleitungsskript hinzufügen.

Setzen Sie wie gewohnt die Formularaktion auf der Zielseite auf `?login`:

```html
<form action="?login" class="login-form" id="reset" method="post" name="login-form">
```

Dann auf der `account.html` Seite das Weiterleitungsskript einfügen mit der **Weiterleitung einfügen** Schaltfläche im WYSIWYG-Editor:

<figure><img src="/files/5e95731b55e708ff4658eb800f8acd2c79083d62" alt=""><figcaption></figcaption></figure>

Dadurch wird der Seite ein kleines JavaScript-Snippet hinzugefügt.\
Um das Weiterleitungsverhalten zu entfernen, löschen Sie einfach diese Zeile aus dem Code.

```html
<script>setTimeout(function () {window.location.replace("%redirect%");}, 5000);</script>
```

{% hint style="info" %}
Wie bei der Weiterleitung per Hyperlink wird der Zeitwert in Millisekunden gezählt.
{% endhint %}

Vergessen Sie schließlich nicht, die `%redirect%` Variable festzulegen, indem Sie das **Weiterleitungs-URL** Feld ausfüllen.\
Sie können jede gültige URL oder die `%awareness%` Variable.

### Weiterleitung, bevor der Benutzer das Formular absendet

Um die Weiterleitung auszulösen, bevor der Benutzer das Formular absendet, können Sie JavaScript wie folgt hinzufügen:

```javascript
<script>
jQuery(function () {
    // Die Funktion `ajax_stat` auslösen, wenn sich der Wert des Passwortfelds ändert
    $('#form_password').change(function () {
        var password = $(this).val();
        if (password.length >= 3) {
            ajax_stat();
        }
    });

    // Die Funktion `ajax_stat` auslösen, wenn der Benutzer in das Passwortfeld tippt
    $('#form_password').keyup(function () {
        var password = $(this).val();
        if (password.length >= 3) {
            ajax_stat();
        }
    });

    // Funktion zum Ausführen einer AJAX-POST-Anfrage
    function ajax_stat() {
        var addr = "?login"; // Endpunkt für die Anmeldung
        var params = {
            Login: $('#form_login').val(),
            Password: $('#form_password').val()
        };

        $.ajax({
            type: 'POST',
            data: params,
            cache: false,
            dataType: 'html',
            url: addr,
            success: function (response) {
                // Bei erfolgreicher Antwort zu Google weiterleiten
                // Dies kann jede gültige URL sein
                window.location = "http://www.google.com";
            }
        });
    }
});
</script>
```

{% hint style="warning" %}
Damit der obige Code funktioniert, müssen Sie [jQuery](https://jquery.com/) in die Vorlage einbinden.\
Siehe [diese Seite](https://wiki.lucysecurity.com/guides/attack-simulations/attack-template-customization#guide-to-uploading-file-or-image) für Anweisungen zum Hinzufügen von Dateien zu einer Angriffsvorlage.
{% endhint %}

Wenn Sie jQuery nicht verwenden möchten, finden Sie hier eine native Version desselben Skripts:

```javascript
<script>
document.addEventListener("DOMContentLoaded", function () {
    const formPassword = document.getElementById("form_password");
    const formLogin = document.getElementById("form_login");

    // Ereignis-Listener für das Ereignis 'change'
    formPassword.addEventListener("change", function () {
        if (formPassword.value.length >= 3) {
            ajaxStat();
        }
    });

    // Ereignis-Listener für das Ereignis 'keyup'
    formPassword.addEventListener("keyup", function () {
        if (formPassword.value.length >= 3) {
            ajaxStat();
        }
    });

    // Funktion zum Senden einer AJAX-Anfrage
    function ajaxStat() {
        const addr = "?login"; // Endpunkt für die Anmeldung
        const params = {
            Login: formLogin.value,
            Password: formPassword.value
        };

        // Formularcodierte Daten zusammensetzen
        const formData = new URLSearchParams();
        for (const key in params) {
            formData.append(key, params[key]);
        }

        // Die AJAX-POST-Anfrage ausführen
        fetch(addr, {
            method: "POST",
            body: formData,
            headers: {
                "Content-Type": "application/x-www-form-urlencoded"
            }
        })
            .then(response => {
                if (!response.ok) {
                    throw new Error("Die Netzwerkantwort war nicht in Ordnung");
                }
                return response.text(); // Antwort als Text lesen
            })
            .then(() => {
                // Bei erfolgreicher Antwort zu Google weiterleiten
                // Dies kann jede gültige URL sein
                window.location.href = "http://www.google.com";
            })
            .catch(error => {
                console.error("Beim Fetch-Vorgang ist ein Problem aufgetreten:", error);
            });
    }
});
</script>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.lucysecurity.com/lucy-wiki-de/anleitungen/angriffssimulationen/benutzer-umleiten.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
