看起来 google recaptcha 的工作方式是,如果使用特定令牌进行了验证尝试,则无法再次使用。
文档指出“您将需要调用 grecaptcha.reset() 以要求最终用户再次使用 reCAPTCHA 进行验证”
我正在尝试使用 react-google-recaptcha npm 包尝试此操作。
这是我的代码:
function onChange(grecaptcha) {
console.log(grecaptcha);
grecaptcha.reset(); // this doesn't work
}
class Captcha extends React.Component {
render() {
return <div>
<Recaptcha
sitekey='#'
onChange={onChange(this)}
/> </div>
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用带有响应和秘密值的 google api https://www.google.com/recaptcha/api/siteverify进行服务器端验证时,成功响应在第一次验证后始终评估为“false”。为了防止这种情况,我按照文档中的建议重置了 grecaptcha,但它不起作用。
有什么我想念的吗?
提前致谢
编辑:
https://github.com/dozoisch/react-google-recaptcha提供了 reset() 实用程序函数,这是我在用户解决验证码后尝试调用的函数,想知道我是否没有正确调用它。
我正在开发一个快速js应用程序,我需要更新嵌套数组.1)架构:
//Creating a mongoose schema
var userSchema = mongoose.Schema({
_id: {type: String, required:true},
name: String,
sensors: [{
sensor_name: {type: String, required:true},
measurements: [{time: String}]
}] });
Run Code Online (Sandbox Code Playgroud)
2)这是代码片段,解释如下:
router.route('/sensors_update/:_id/:sensor_name/')
.post(function (req, res) {
User.findOneAndUpdate({_id:req.body._id}, {$push: {"sensors" :
{"sensor_name" : req.body.sensor_name , "measurements.0.time": req.body.time } } },
{new:true},function(err, newSensor) {
if (err)
res.send(err);
res.send(newSensor)
}); });
Run Code Online (Sandbox Code Playgroud)
我能够使用带推技术的findOneAndUpdate成功更新测量数组的值,但是当我尝试向传感器阵列添加多个测量时,我失败了.
这是当我向传感器阵列发布第二次测量时得到的当前json:
{
"_id": "Manasa",
"name": "Manasa Sub",
"__v": 0,
"sensors": [
{
"sensor_name": "ras",
"_id": "57da0a4bf3884d1fb2234c74",
"measurements": [
{
"time": "8:00"
}
]
},
{ …Run Code Online (Sandbox Code Playgroud) 我在Python文档阅读:文档
要求全局分配变量可防止意外副作用。
让我们把它放在代码中:
def double(n):
global y
y = 2 * n # this turns global as we have state y explicitly global
y = 5
double(y)
print y # outputs 10
Run Code Online (Sandbox Code Playgroud)
我想再次检查一下我的理解,如果上面的代码在全局y上有副作用,那么我认为这与文档中的声明矛盾,基本上,我认为要求为全局变量分配变量不能防止副作用。
如果我错了,请纠正我。
谢谢
我在 django 视图中解码 jwt 令牌时遇到了一个奇怪的问题。如果我尝试 jwt.decode('encoded_token', 'secret') 然后我会看到“签名验证失败”消息。为了避免这个问题,我将验证标志设置为 False:
jwt.decode('eroded_token', 'secret', verify=False)
Run Code Online (Sandbox Code Playgroud)
这使解码的有效负载没有错误,但我试图弄清楚如何在不将验证标志设置为 False 的情况下成功验证令牌。有任何想法吗?
谢谢
我创建了一个带有reducer和Enhancer功能的redux存储。
const store = createStore(rootReducer, compose(
applyMiddleware(thunk),
DevTools.instrument()
))
Run Code Online (Sandbox Code Playgroud)
rootReducer使用combinedReducers创建单个根减速器。我想在存储中初始化窗口的位置值,所以我尝试了如下操作:
const initialWindowLocation = window.location.hostname
const store = createStore(rootReducer, initialWindowLocation, compose(
applyMiddleware(thunk),
DevTools.instrument()
))
Run Code Online (Sandbox Code Playgroud)
我将商店连接到redux表单,并且能够通过mapStateToProps获取所有reducer的值,但是我一直试图从redux createStore访问简单的字符串值(即,initialWindowWindowLocation)。有一些我缺少的Redux技巧吗?
另外,如果我尝试遇到意外的关键错误:
Unexpected key found in previous state received by the reducer.
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?提前致谢。
这几乎是我所理解的,但我想听到更多:
我在堆栈溢出的某处读到了这一点,比较meteor js和express js就像比较橙子和土豆.总结一下我对Meteor JS的理解 - 全栈(前端,后端)Express JS - 只有后端
现在我很好奇比较Meteor JS后端和Express JS(几乎比较马铃薯品种).
我可以在Meteor JS后端的Express JS中做我所做的一切吗?Express JS优于Meteor JS后端有什么优势?
是否值得从快速获取数据并在流星前端显示或只是在流星中做所有事情?
总的来说,我的问题是,如果表达强大的流星js后端?在Meteor后端做什么是不可能的,可以在快递中完成?
express ×2
mongodb ×2
mongoose ×2
python ×2
reactjs ×2
redux ×2
redux-form ×2
arrays ×1
captcha ×1
django ×1
javascript ×1
json ×1
jwt ×1
meteor ×1
pyjwt ×1
react-redux ×1
react-router ×1
recaptcha ×1