javascript - 在 React.js 中以组件状态存储表单输入,特别是密码

标签 javascript html reactjs

有一个关于 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/

相关文章:

javascript - 如何遍历列表并添加图像

javascript - 使用 Jest 测试跨浏览器扩展,如何模拟 Chrome 存储 API?

javascript - 单击按钮时添加输入字段

c# - 如何将复杂模型从客户端传递到服务器?

javascript - 通过 VAST 标签的 SWF 广告未在 JW 播放器中播放

html - 嵌入 YouTube 视频在本地 HTML 文件中不起作用(使用文件 ://URL)

javascript - React refs - 使用 refs 访问 DOM 节点

javascript - 哪些语言可以编译成javascript?

javascript - 跳转到可滚动 div 内的内容

javascript - 为下拉导航栏编辑 html+css+js