# Przewodnik po niestandardowej stronie reCAPTCHA

## Wymagania wstępne

{% hint style="warning" %}
Upewnij się, że firma Netacea skonfigurowała i włączyła CAPTCHA dla Twojego konta. Upewnij się również, że standardowa strona CAPTCHA została przetestowana i może być wyświetlana przed wdrożeniem niestandardowej strony CAPTCHA.
{% endhint %}

Po spełnieniu powyższych wymagań wstępnych niestandardową stronę CAPTCHA można utworzyć, wykonując następujące czynności:

## Strona HTML

Aby utworzyć stronę HTML, która będzie używana do wyświetlania CAPTCHA, warto zacząć od szablonu HTML Netacea przed dodaniem niestandardowego kodu HTML. [Szablon strony](#netacea-captcha-template) znajduje się na dole tego dokumentu.\
\
Niestandardowa strona HTML może być zaprojektowana zgodnie z Twoimi konkretnymi wymaganiami i/lub identyfikacją wizualną firmy, jednak strona musi zawierać następujący kod.\
\
**Poniższe skrypty powinny znajdować się w elemencie head dokumentu (`<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>
```

**Ponadto należy umieścić następujący kod gdzieś w obrębie body (`<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>
```

**Poniższe skrypty należy również dodać na końcu, ale nadal w obrębie body (`<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" %}
Należy pamiętać, że niektóre linki na stronie CAPTCHA mogą nie działać, jeśli są hostowane za witryną chronioną przez Netacea.
{% endhint %}

### Szablon CAPTCHA Netacea

```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>
```

*Po ukończeniu niestandardowej strony CAPTCHA prosimy o przesłanie gotowej strony HTML CAPTCHA do Netacea. Zostanie ona przesłana na nasze serwery, a nowa strona będzie używana dla wszystkich stron CAPTCHA wyświetlanych przez rozwiązanie Netacea Bot Management.*

### Automatyczne uzupełnianie Captcha

Netacea oferuje również szablon strony reCAPTCHA, w którym wyzwanie captcha jest automatycznie uzupełniane po ukończeniu wyzwania przez użytkownika. Jeśli chcesz skorzystać z tego rozwiązania, użyj poniższego szablonu

```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>
```
