# Anleitung für benutzerdefinierte reCAPTCHA-Seite

## Voraussetzungen

{% hint style="warning" %}
Bitte stellen Sie sicher, dass Netacea CAPTCHA für Ihr Konto konfiguriert und aktiviert hat. Stellen Sie außerdem sicher, dass die Standard-CAPTCHA-Seite getestet wurde und bereitgestellt werden kann, bevor Sie eine benutzerdefinierte CAPTCHA-Seite implementieren.
{% endhint %}

Sofern die oben genannten Voraussetzungen erfüllt sind, kann eine benutzerdefinierte CAPTCHA-Seite wie folgt erstellt werden:

## HTML-Seite

Um eine HTML-Seite zu erstellen, die für die Bereitstellung von CAPTCHA verwendet wird, kann es hilfreich sein, mit der Netacea-HTML-Vorlage zu beginnen, bevor Sie den benutzerdefinierten HTML-Code hinzufügen. Die [Vorlagen-Seite](#netacea-captcha-template) finden Sie am Ende dieses Dokuments.\
\
Ihre benutzerdefinierte HTML-Seite kann gemäß Ihren spezifischen Anforderungen und/oder Ihrem Unternehmensbranding gestaltet werden, jedoch muss die Seite den folgenden Code enthalten.\
\
**Die folgenden Skripte sollten sich innerhalb des Document-Head-Elements befinden (`<head>...</head>`):**

```html
<link rel="stylesheet" href="https://assets.ntcacdn.net/Mitigations/captcha-1.0.0.css">
<script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
```

**Fügen Sie zusätzlich den folgenden Code irgendwo innerhalb des Body-Elements ein (`<body>...</body>`):**

```html
<form id="frmCaptcha" action="" method="POST">
    <div class="g-recaptcha" data-sitekey="{{CAPTCHA_SITE_KEY}}" data-callback="showButton"></div>
    <br />
    <input type="submit" value="Submit" class="btn btnHidden">
    <input type="hidden" maxlength="40" id="hitid" name="hitid" value="{{TRACKING_ID}}">
</form>
```

**Die folgenden Skripte müssen ebenfalls am Ende, aber noch innerhalb des Body-Elements hinzugefügt werden (`<body>...</body>`):**

```html
<script src="https://assets.ntcacdn.net/Mitigations/fetch-polyfill-3.6.2.js"></script>
<script src="https://assets.ntcacdn.net/Mitigations/submit-captcha-2.0.2.js"></script>
```

{% hint style="warning" %}
Bitte beachten Sie, dass bestimmte Links innerhalb der CAPTCHA-Seite möglicherweise nicht funktionieren, wenn sie hinter der Website gehostet werden, die durch Netacea geschützt wird.
{% endhint %}

### Netacea CAPTCHA-Vorlage

```html
<!DOCTYPE html>
<html lang="en">
<head runat="server">
    <meta name="viewport" content="initial-scale=1.0, width=device-width, maximum-scale=1.0" />
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Captcha Page</title>
    <link rel="stylesheet" href="https://assets.ntcacdn.net/Mitigations/captcha-1.1.1.css">
    <script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
</head>
<body>
    <div class="wrapper">
        <header>
            <!-- header content -->
            <h1>Help us verify real visitors</h1>
            <!-- End of header  content -->
        </header>
        
        <!-- statement content -->
        <p>Please complete to continue</p>
        <!-- End of statement content -->

        <!-- Captcha Form, Do not change-->
            <form id="frmCaptcha" action="" method="POST">
                <div class="g-recaptcha" data-sitekey="{{CAPTCHA_SITE_KEY}}" data-callback="showButton"></div>
                <br />
                <input type="submit" value="Submit" class="btn btnHidden">
                <input type="hidden" maxlength="40" id="hitid" name="hitid" value="{{TRACKING_ID}}">
            </form>
        <!-- End of captcha form -->

        <div class="wrapper-values"></div>
    </div>
    <!-- The following two scripts MUST be at the end of the body -->
    <script src="https://assets.ntcacdn.net/Mitigations/fetch-polyfill-3.6.2.js"></script>
    <script src="https://assets.ntcacdn.net/Mitigations/submit-captcha-2.3.0.js"></script>
    <!-- End of scripts at the end of body -->
</body>
</html>
```

*Sobald die benutzerdefinierte CAPTCHA-Seite fertiggestellt ist, stellen Sie bitte die vollständige CAPTCHA-HTML-Seite Netacea zur Verfügung. Diese wird auf unsere Server hochgeladen und die neue Seite wird für alle CAPTCHA-Seiten verwendet, die von der Netacea Bot Management-Lösung bereitgestellt werden.*

### Automatische Vervollständigung des Captcha

Netacea bietet auch eine reCAPTCHA-Seitenvorlage an, bei der die Captcha-Herausforderung automatisch abgeschlossen wird, sobald der Benutzer die Herausforderung erfolgreich bewältigt hat. Wenn Sie diese Lösung nutzen möchten, verwenden Sie bitte die folgende Vorlage

```html
<!DOCTYPE html>
<html lang="en">
<head runat="server">
    <meta name="viewport" content="initial-scale=1.0, width=device-width, maximum-scale=1.0" />
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Auto-submit reCaptcha Custom Page</title>
    <link rel="stylesheet" href="https://assets.ntcacdn-uat.net/Mitigations/captcha-1.1.1.css">
    <script src="https://assets.ntcacdn-uat.net/Mitigations/fetch-polyfill-3.6.2.js"></script>
    <script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
    <script src="https://assets.ntcacdn-uat.net/Mitigations/submit-captcha-2.3.0.js" async defer></script>
</head>
<body>
    <div class="wrapper">
        <header>
            <!-- header content -->
            <h1>Help us verify real visitors</h1>
            <!-- End of header  content -->
        </header>
        
        <!-- statement content -->
        <p>Please complete to continue</p>
        <!-- End of statement content -->

        <!-- Captcha Form, Do not change-->
        <form id="frmCaptcha" action="" method="POST" data-auto-submit>
            <div class="g-recaptcha" data-sitekey="{{CAPTCHA_SITE_KEY}}" data-callback="frmCaptchaCallback"></div><br /><input
                type="submit" value="Submit" class="btn btnHidden"><input type="hidden" maxlength="40" id="hitid"
                name="hitid" value="{{TRACKING_ID}}">
        </form>
    </div>
</body>
</html>
```
