【发布时间】:2018-06-20 23:21:13
【问题描述】:
我正在开发一个 React 项目,并且喜欢它的动态性。但是,在处理动态安全功能时——在我的例子中是 Google reCAPTCHA,我非常担心用户可能会操纵我的状态和属性。
例如,这就是我处理 reCAPTCHA 的方式:
class Create extends Component {
constructor() {
super();
this.onRECAPTCHA = this.onRECAPTCHA.bind(this);
this.state = {captcha: false}
// ...
}
onRECAPTCHA(value) {
if (value == null) {
this.setState({captcha: false})
}
this.setState({captcha: true})
}
}
我有一个按钮 onClick 的处理程序,它在函数中测试 this.state.captcha,然后再继续。它按预期工作,但我偶然发现了 react-dev-tools 并发现我能够手动操作我的验证码状态!我是否公然遗漏了什么,或者我不应该将验证码设置为状态/属性?这也让我担心我设置的其他几个状态/道具。我所有的验证都以这种方式存储。
【问题讨论】:
标签: node.js reactjs security recaptcha states