有一个关于 React.js 中的表单的问题。我实际上没有问题,但想知道我的方法是否存在任何缺陷。
我有一个简单的表单,有两个用于电子邮件和密码的输入,如下所示:
<input
type="email"
name="email"
value={this.state.email}
onChange={this.handleChange}
data-message-required="Please enter your email address"
data-message-email="Please enter a VALID email address"
/>
和
<input
type="password"
name="password"
value={this.state.password}
onChange={this.handleChange}
data-minlength="3"
data-maxnlength="20"
data-message="Please enter your password"
/>
handleChange() 是这样写的:
handleChange = e => {
this.setState({
[e.target.name]:e.target.value
})}
我的问题是,这段代码中是否存在漏洞?使用 React Dev Tools 时,我可以跟踪组件的内部状态,密码以明文形式显示。我不确定这是否意味着其他来源可以通过跟踪组件的状态来获取密码。
很抱歉,如果之前已经回答过这个问题,我进行了快速搜索,但找不到专门针对该主题的内容。感谢您的宝贵时间。
最佳答案
不,这里没有漏洞:用户将能够在她的浏览器中看到密码,在她输入密码后......
密码不应该是它的所有者的 secret ...:-)
当然,如果您将密码发送到服务器,您将使用 https
协议(protocol),否则它将在电缆上可见,是 一个安全问题!
关于javascript - 在 React.js 中以组件状态存储表单输入,特别是密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54558603/