Articles of recaptcha

谷歌recaptcha nodejs应用程序

好吧,我正在尝试将Google Recaptcha实施到我的应用的注册页面。 前端上的所有东西似乎只要它加载页面,当我点击“我不是一个机器人”,它要求我validation图像,然后…当我点击提交,它告诉我“请selectvalidation码“它将我redirect到注册页面。 多数民众赞成我如何有代码设置,如果有人不selectvalidation码复选标记,但我不明白为什么它不会继续和创build用户。 这里是代码… // handle signup logic router.post("/register", function(req, res) { if(req.body.captcha === undefined || req.body.captcha === "" || req.body.captcha === null){ req.flash("error", "Please select captcha"); return res.redirect("/register"); } // secret key var secretKey = process.env.CAPTCHA; // Verify URL var verifyURL = `https://www.google.com/recaptcha/api/siteverify?secret=${secretKey}&response=${req.body.captcha}&remoteip=${req.connection.remoteAddress}`; // Make request to Verify URL request(verifyURL, (err, response, body) […]

护照通过Google reCaptcha进行身份validation

我正在尝试将google reCaptchajoin到我的registry单的后端,这个后端已经有了护照authentication,代码如下: app.get('/signup', function(req, res) { // render the page and pass in any flash data if it exists res.render('signup.ejs', { message : req.flash('signupMessage') }); }); app.post('/signup', passport.authenticate('local-signup', { successRedirect : '/app', // redirect to the secure chat section failureRedirect : '/signup', // redirect back to the signup page if there is an error failureFlash […]

validationcaptcha以及passport.js

是否有可能在调用passport.jsvalidationfunction之前validationgoogle recaptcha是否成功? 我之间select一个或另一个之间卡住,因为都使用asynchronouscallback来validation,我不能在他们之间相互。 function verifyRecaptcha(key, rq, rs, pa, callback) { https.get('https://www.google.com/recaptcha/api/siteverify?secret=' + SECRET + '&response=' + key, function (res) { var data = ''; res.on('data', function (chunk) { data += chunk.toString(); }); res.on('end', function () { try { var parsedData = JSON.parse(data); // return true; callback(parsedData.success, rq, rs, pa); } catch (e) { // return […]

Express和Jade,传入variables

我试图安装这个captcha插件,这是我迄今为止(直接从他们的代码,只是对我的风格调整) 这里是validation码和我下面的步骤: https://github.com/mirhampt/node-recaptcha : https://github.com/mirhampt/node-recaptcha 在我的router.js文件中: app.get('/account/verification/:token/', require('./views/account/verification/index').verifyHuman); 在我的/views/account/verification/index.js文件中: exports.verifyHuman = function(req, res, next){ var Recaptcha = require('recaptcha').Recaptcha; var recaptchaKeys = req.app.config.recaptchaKeys; var recaptcha = new Recaptcha(recaptchaKeys.publicKey, recaptchaKeys.privateKey); console.log(recaptcha.toHTML()); //this returns a script tag with an iframe and stuff in it res.render('account/verification/captcha', { layout: false, locals: { recaptcha_form: recaptcha.toHTML() } }); }; 然后我的/views/account/verification/captcha.jade文件: div#captcha script(type='text/template', […]

从服务器到siteverify谷歌nocaptchapost说细节丢失

[ { hostname: 'www.google.com', path: '/recaptcha/api/siteverify', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': 556 } }, '{"secret":"XXXUseThisForCommunicationBetweenYourSiteAndGoogleXXX","response":"03AHJ_VuusXdr5IdGpNzQPRjedGs-Le066Fx9r-Lk1gIfLqlzwxapPx70_LukmcOsw3x-m2DSfpvQVylx060H9IjFP82fy7505_t_rjSivauiwBUyQPrBMp5kTRviq_DD1L2mVMTTrBieUMlQM69AIuG3KwmdOQMyMJS2iJdRuRNnvAmDlPSejkASR4X-7c4IIP3NoMb52Qsl9QPeU6kGaPtxqmf1IpNwbSC3bzLXQD-QV1aI4GgaeqSPfOO8EPfISJMQ5kbCd9wqAwHqDAXMtNSvz10Ty30R71HqmsSk7YHddFQhei1L6y9j7nxnY5QtAxHehhpYwJVNjI96hxeIaG58_CQHGbAufy4aPGAlf-zJ6be_Xtdzd4AnHxiX9OuCKQI8eQlh6DZLGaymxXDmPNu4TijGyyu0VeTPTTKf12zVUg86_0ZmszWZDtALjnNnxBH7bZqrgWXhy","remoteip":"00.00.000.000"}' ] 如果我张贴,谷歌返回这个: { success: false, 'error-codes': [ 'missing-input-response', 'missing-input-secret'] } 我不明白发生了什么错 https://www.google.com/recaptcha/admin#site/XXXXXX?setup说: 当你的用户提交你整合了reCAPTCHA的表单时,你将得到一个名为“g-recaptcha-response”的string的一部分。 为了检查Google是否validation了该用户,请使用以下参数发送POST请求:URL: https : //www.google.com/recaptcha/api/siteverify 机密 (必填) – XXXXXX, 回复 (必填) – 值'g-recaptcha-response', remoteip – 最终用户的IP地址。 我已经明确地发送了所有这些东西! 这里会发生什么? 错误并不是说他们错了,而是说他们“失踪” 而从谷歌以上引用的文字清楚地说,POST不GET GET reCAPTCHA:如何获得用户响应和validation在服务器端 但是如果我尝试GET请求,那么响应是[ null, 400, undefined […]

在AngularJS中调用$ save方法

我正在寻找一个callback在我的$save方法在angularjs中使用。 我正在发送一篇博文到node.js后端,并通过了recaptchavalidation。 正如$resource文档中的操作不起作用: 非GET实例操作:实例。$ action([parameters],[success],[error]) var post = new Posts({ title: this.title, content: this.content, response: this.model.captcha.response, challenge: this.model.captcha.challenge }); post.$save({}, function(addedpost) { $location.path('posts/' + addedpost._id); }, function(error) { console.log(error); vcRecaptchaService.reload(); }); 在服务器中,我使用node.js的simple_recaptcha模块来validation请求中打包的recaptcha挑战和响应。 var verifyRecaptcha = function(req,res,next){ var privateKey = 'XXXXXXXXXXXXXXXXXXXXXXXX'; var ip = req.ip; var challenge = req.body.challenge; var response = req.body.response; simple_recaptcha(privateKey, ip, challenge, […]

谷歌的recaptcha api无效input秘密

我试图在我的网站上使用recaptcha。 具有快速框架的Nodejs服务器。 该网站没有托pipe,我仍然在本地工作。 在主页上,当用户input他的信息来创build一个帐户,并解决recaptcha,我发送结果 $("#g-recaptcha-response").val() 到服务器。 而在我的服务器上, https.get("https://www.google.com/recaptcha/api/siteverify?secret=" + SECRET + "&response=" + key, function(res) { var data = ""; res.on('data', function (chunk) { data += chunk.toString(); }); res.on('end', function() { try { var parsedData = JSON.parse(data); console.log(parsedData); callback(parsedData.success); } catch (e) { callback(false); } }); }); 关键是答复,秘密是他们给你的秘密钥匙。 我声明了一个variablesSECRET,并将密钥存储为一个string。 每一次,为了 console.log(parsedData); 这是说 { success: false, […]

如何validation服务器调用中的recaptcha?

情况: 我曾经用POST提交一个简单的表单来检查我的recaptcha“/ login”。 我需要改变我的实现出于安全原因,并希望做一些事情: 1)jquery表单提交。 2)打电话给服务器调用服务器上的validationrecaptcha。 3)接收响应,无需重新加载页面。 4)接受login请求或不响应。 题: 看起来我可以做一个AJAX请求? 但我不知道如何。 客户代码: <div class ="containerMargins"> <h1 class = "authTitle">Login</h1> <form id="loginForm"> <div class="form-group"> <label>Email</label> <input type="email" class="form-control" name="email" id="loginEmail" placeholder="You can't forget it :)" required> </div> <div class="form-group"> <label>Password</label> <input type="password" class="form-control" name="password" id="loginPassword" placeholder="We hope you didn't forget it ^^" required minlength="12"> </div> <div […]

我一直收到我的reCAPTCHAvalidation请求上的“invalid-site-private-key”

也许你们可以帮助我。 我正在尝试在我的node.js应用程序中实现reCAPTCHA,无论我做什么,都会收到“invalid-site-private-key”作为响应。 这里是我加倍和检查和尝试的事情: 正确的钥匙 密钥不交换 键是“全局键”,因为我在本地主机上testing,认为这可能是一个问题 在服务器上的生产环境中testing – 同样的问题 我能想到的最后一件事是我的POST请求reCAPTCHA API本身是不正确的,因为具体格式的身体没有明确logging(参数logging,我知道)。 所以这是我目前正在发送的请求主体(密钥和IP被更改,但是我检查了他们): privatekey=6LcHN8gSAABAAEt_gKsSwfuSfsam9ebhPJa8w_EV&remoteip=10.92.165.132& challenge=03AHJ_Vuu85MroKzagMlXq_trMemw4hKSP648MOf1JCua9W-5R968i2pPjE0jjDGX TYmWNjaqUXTGJOyMO3IKKOGtkeg_Xnn2UVAfoXHVQ-0VCHYPNwrj3PQgGj22EFv7RGSsuNfJCyn mwTO8TnwZZMRjHFrsglar2zQ&response=Coleshill areacce 这种格式有什么问题吗? 我必须发送特殊的标题吗? 我完全错了吗? (我现在正在连续工作16个小时,所以这可能是..) 感谢您的帮助!