我将Googles funky ReCaptcha NoCaptcha整合到一个简单的html5表单中.在localhost上它正在工作,但在线测试它总是返回错误'invalid-json'.这是我的代码的一部分:
$secret = 'TEHSEHCRET';
$recaptcha = new \ReCaptcha\ReCaptcha($secret);
$resp = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
if ($resp->isSuccess()) {
// do some
}
else {
print_r($errors = $resp->getErrorCodes());
}
Run Code Online (Sandbox Code Playgroud)
返回 Array ( [0] => invalid-json )
我用谷歌搜索了一些帮助,但没有发现真有帮助.
由于代码在线和离线是相同的,我真的无能为力.问题来自哪里.https://developers.google.com/recaptcha/docs/verify对错误代码一无所知.猜猜解决方案太简单了.
我创建了一个带有车把模板引擎的 ExpressJS 应用程序,并且通过以下方式启动应用程序npm start
对我来说看起来一切都很好,因为所有资源都已加载。
这是我的文件夹结构:
- public
- css
- svg
- uploads
- views
- layouts
> home.handlebars
Run Code Online (Sandbox Code Playgroud)
这是我的index.js的相关内容:
const express = require('express');
const exphbs = require('express-handlebars');
const path = require('path');
const fs = require('fs');
const port = 5000;
const index = express();
app.set('views', path.join(__dirname, '/', 'views'));
app.use(express.static(__dirname + '/public'));
app.engine('handlebars', exphbs({
defaultLayout: 'main',
layoutsDir: path.join(__dirname, '/', 'views', 'layouts')}
));
app.set('view engine', 'handlebars');
Run Code Online (Sandbox Code Playgroud)
这是我的now.json的内容:
{
"version": 2,
"builds": [
{
"src": "index.js",
"use": …
Run Code Online (Sandbox Code Playgroud)