小编noa*_*myg的帖子

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
查看次数

通过导入的常量指定标头时“收到无效的 lambda 响应”

我正在使用 CDK typescript lambda 堆栈,连接到 API 网关。当我发送以下响应时,一切正常:

const res = await request<ResponseModel>(req);
return {
    statusCode: res.status,
    headers: {
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Credentials': true
    },
    body: JSON.stringify(res.data)
};
Run Code Online (Sandbox Code Playgroud)

但是,我尝试使用通用常量设置标头,结果失败:

// common-headers.ts
export const CommonResponseHeaders = {
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Credentials': true
};

//function.ts
import { CommonResponseHeaders } from '../../common/common-headers';

const res = await request<ResponseModel>(req);
return {
    statusCode: res.status,
    headers: CommonResponseHeaders,
    body: JSON.stringify(res.data)
};

//stack.ts
const function = {
    name: 'myFunction',
    runtime: Runtime.NODEJS_14_X,
    entry: path.join(__dirname, './function.ts'),
    vpcSubnets: {
      subnetType: SubnetType.PRIVATE_WITH_EGRESS
    },
    handler: 'handler',
    environment: …
Run Code Online (Sandbox Code Playgroud)

typescript aws-lambda aws-api-gateway aws-cdk

5
推荐指数
1
解决办法
705
查看次数

Husky 预提交挂钩在提交后完成

编写以下脚本是为了在预提交挂钩上按键对 JSON 文件进行排序:

 /*
 * Will reorder all files in given path.
 */

const sortJson = require("sort-json");
const fs = require("fs");
const chalk = require("chalk");

const log = console.log;
const translationsPath = process.argv.slice(2).join(" ");

function readFiles(dirname) {
  try {
    return fs.readdirSync(dirname);
  } catch (e) {
    log(chalk.red(`Failed reading files from path; ${e}`));
  }
}

log(
  chalk.bgGreen(
    `Running json sort pre-commit hook on path: ${translationsPath}`
  )
);

const files = readFiles(translationsPath);
files.forEach((file) => {
  log(chalk.yellow(`Sorting ${file}...`));
  try {
    sortJson.overwrite(`${translationsPath}\\${file}`);
    log(chalk.green(`Finished sorting ${file}`)); …
Run Code Online (Sandbox Code Playgroud)

node.js husky

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