相关疑难解决方法(0)

如何验证Google Recaptcha V3响应

如何在客户端和服务器端(php)中集成Google reCAPTCHA版本3.以下代码用于显示recaptcha,但它不能正常工作.如何进行这种集成.

<html>

<head>
  <script src='https://www.google.com/recaptcha/api.js?render=XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'></script>
</head>

<body>
  <script>
    grecaptcha.ready(function() {
      grecaptcha.execute('XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', {
        action: 'action_name'
      });
    });
  </script>

  <form action="verify.php" method="post">
    <input type="text" name="name" placeholder="Your name" required>
    <input type="email" name="email" placeholder="Your email address" required>
    <textarea name="message" placeholder="Type your message here...." required></textarea>

    <input type="submit" name="submit" value="SUBMIT">

  </form>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

Verify.php

<?php

    if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) {
        //your site secret key
        $secret = 'XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
        //get verify response data
        $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
        $responseData = json_decode($verifyResponse);
        if($responseData->success):

             print_r("Working Fine"); exit;
        else:
             print_r("No valid Key"); exit; …
Run Code Online (Sandbox Code Playgroud)

php recaptcha invisible-recaptcha

29
推荐指数
3
解决办法
4万
查看次数

如何在ASP.NET中实现reCaptcha V3

是否有人在ASP.NET中具有reCaptcha V3的完整实现演示?

我找到了这篇文章:Google Recaptcha v3示例演示

目前,我正在使用带有以下代码的reCaptcha V2:

public bool RecaptchaValidate()
    {
        string Response = Request.Form["g-recaptcha-response"];//Getting Response String Append to Post Method
        bool Valid = false;
        //Request to Google Server
        var CaptchaSiteKey = Settings["NewUserRegCaptchaSecretSiteKey"].ToString();
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create
        (" https://www.google.com/recaptcha/api/siteverify?secret=" + CaptchaSiteKey + "&response=" + Response);
        try
        {
            //Google recaptcha Response
            using (WebResponse wResponse = req.GetResponse())
            {

                using (StreamReader readStream = new StreamReader(wResponse.GetResponseStream()))
                {
                    string jsonResponse = readStream.ReadToEnd();

                    JavaScriptSerializer js = new JavaScriptSerializer();
                    ReCaptchaObject data = js.Deserialize<ReCaptchaObject>(jsonResponse);// Deserialize Json

                    Valid …
Run Code Online (Sandbox Code Playgroud)

asp.net recaptcha recaptcha-v3

6
推荐指数
4
解决办法
1万
查看次数

Google reCAPCTHA v3 是否应该出现在每个页面中?

我正在从 Google reCAPTCHA v2 迁移到 v3。由于它们完全不同,我有一个问题。

我过去只将 reCAPTCHA v2 放置在存在表单的网页内,以使用户点击并避免机器人。这是可以理解的,但是对于 reCAPTCHA v3,没有一个可以点击的复选框(reCAPTCHA v3 分析用户行为和点击)。

那么...我应该将 reCAPTCHA v3 放置在表单页面中还是应该将其放置在我拥有的所有页面中(以使 recaptcha 观察用户如何与网络交互)?

recaptcha recaptcha-v3

6
推荐指数
1
解决办法
2206
查看次数

Google的Recaptcha V3-我应该跟踪分数,还是以“成功”为真?

背景:我的网站非常简单,包含一个带有链接列表的首页(由3rd party服务提供)-每个链接都会弹出带有“提交”按钮的文件上传输入。在该弹出窗口中,我嵌入了Recaptcha脚本,并在提交文件时验证了令牌。由于存在多个弹出设置,因此我选择V3进行零用户与验证机制的交互。

现在,出现一个问题-我该如何解释Google对Google的回应。

Google文档第3版说:

reCAPTCHA通过查看您网站上的实际流量进行学习。因此,在暂存环境中或实施后不久的分数可能与生产环境有所不同。由于reCAPTCHA v3从未中断用户流程,因此您可以先运行reCAPTCHA而无需采取任何措施,然后通过在管理控制台中查看流量来确定阈值。默认情况下,您可以使用0.5的阈值。

从我的描述中,我很清楚score,最重要的是-最可能的机器人为0.0,最可能的机器人为1.0。所以在我的代码中,我检查success == truescore >= 0.5

但是- 我在网上找到的用于服务器端验证的V3示例中,没有一个与分数有关。这是其中的3个 这三个仅检查请求是否成功:

/sf/answers/3788267451/

/sf/answers/3684365821/

https://dzone.com/articles/adding-google-recaptcha-v3-to-your-laravel-app

最后,我的问题是-是对V3机制的误解,还是我错过了一些东西?

谢谢。

recaptcha-v3

5
推荐指数
2
解决办法
725
查看次数

recaptcha V3:Java 中的服务器端

我在java中找不到任何关于recaptcha v3的服务器端代码。我已经在我的 jsp 文件(客户端)中添加了代码(如下所示)但是如何在服务器端处理它?实际上,我需要 java 中的服务器端代码来获取 recaptcha v3。谢谢。

<head>
<script
    src="https://www.google.com/recaptcha/api.js?render=MySiteKey"></script>
</head>

<form>
   <input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response"> 
   <input type="hidden" name="action" value="validate_captcha">
</form>
<script>
    grecaptcha.ready(function() {
    grecaptcha.execute('MySiteKey', {
        action : 'validate_captcha'
    }).then(function(token) {
    document.getElementById('g-recaptcha-response').value = token;
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

PhP中有一些例子,例如here,但我需要java。

javascript java recaptcha-v3

5
推荐指数
0
解决办法
3034
查看次数