Как сделать аутентификацию на рабочем токене для проверки человечества и подтверждения согласия с условиями обслуживания / политикой конфиденциальности? - PullRequest
0 голосов
/ 08 ноября 2019

Можете ли вы проверить, работает ли код и реализация в реальном времени ? Я слежу за этим Справочным центром Cloudflare для реализации этого.

Для генерации токенов

Код находится на /home/vol14_5/hostfree.pw/epree_24585160/compliance-checks.devhubcentral.ml/htdocs/confirm-agreement/getcode.php. ( Кажется, я использую бесплатный хостинг в каталоге файлов?) Должен ли я переместить это в ./htdocs и переименовать в [insert here], чтобы это работало в случае сбоя?

<?php
// Generate valid URL token
$secret = "ValidatedByThePinsTeamForCompliance";
$time   = time();
$token  = $time . "-" . urlencode(base64_encode(hash_hmac("sha256", "/confirm-agreement/verify.html$time", $secret, true)));
param   = "verification-code=" . $token;
?>

На стороне клиента

В этом разделе беспорядок. Пожалуйста, используйте с осторожностью на вашем сервере при тестировании. Этот находится в /home/vol14_5/hostfree.pw/epree_24585160/compliance-checks.devhubcentral.ml/htdocs/confirm-agreement/verify.php и доступен для просмотра в compliance-checks.devhubcentral.ml/confirm-agreement/verify.php.

<html>
    <head>
        <title>Confrim Humanity and Agreement - Compliance Checks</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
        <style>
            body {
                  margin: 0;
                  font-family: Arial, Helvetica, sans-serif;
            }

            .topnav {
                  overflow: hidden;
                  background-color: #333;
            }

            .topnav a {
                  float: left;
                  display: block;
                  color: #f2f2f2;
                  text-align: center;
                  padding: 14px 16px;
                  text-decoration: none;
                  font-size: 17px;
            }

            .topnav a:hover {
                  background-color: #ddd;
                  color: black;
            }

            .topnav a.active {
                  background-color: #4CAF50;
                  color: white;
            }

            .topnav .icon {
                  display: none;
            }

            @media screen and (max-width: 600px) {
                  .topnav a:not(:first-child) {display: none;}
                  .topnav a.icon {
                        float: right;
                        display: block;
                    }
            }

            @media screen and (max-width: 600px) {
                      .topnav.responsive {position: relative;}
                      .topnav.responsive .icon {
                        position: absolute;
                        right: 0;
                        top: 0;
                    }
                      .topnav.responsive a {
                            float: none;
                            display: block;
                            text-align: left;
                      }
            }
        </style>
        </head>
    <body>

        <div class="topnav" id="myTopnav">
            <a href="/">Compliance Checks Center</a>
            <a href="/confirm-agreement/verify.php" class="active">Get Code to Confirm Agreement</a>
            <a href="/contact.php">Contact</a>
            <a href="/about.php">About this site</a>
            <a href="javascript:void(0);" class="icon" onclick="myFunction()">
        <i class="fa fa-bars"></i>
        </a>
        </div>

        <div style="padding-left:16px">
              <h2>Your verification code is <b><?php echo $token ?></b>. Use this code for continuing our compliance checks</h2>
                <p>The bolded text above is must be used only solely for humanity verification and your confirmation to <a href="https://legal.madebythepins.tk/privacy/policy">privacy policy</a> and <a href="https://legal.madebythepins.tk/tos">terms of service.</p>
        </div>

        <script>
            function myFunction() {
            var x = document.getElementById("myTopnav");
            if (x.className === "topnav") {
                x.className += " responsive";
            } else {
                x.className = "topnav";
            }
        }
        </script>
    </body>
</html>
...