我想将电子邮件字符串传递给HIBP API。为了确保我方面的尽职调查(我喜欢Troy Hunt,并且不想给他带来不必要的问题),我想尽可能地彻底清除用户输入。
通过一些研究,我遇到了两种获取用户输入并将其传递到API的方法:textContent和value。
var account = document.getElementById('input')
....
fetch('https://haveibeenpwned.com/api/v2/breachedaccount/' + account.value, {
timeout: 1500,
userAgent: 'test'
})
.then(doStuff)
此代码使用.value属性,据我了解,该属性将字符串传递给获取请求。我想知道this guy所提到的仅通过...文本内容...的textContent是否更好?也许坏家伙可以用String做更多的事情?
因此,使用第二种方法,代码将如下所示。
var account = document.getElementById('input')
var email = account.textContent;
...
fetch('https://haveibeenpwned.com/api/v2/breachedaccount/' + email, {
timeout: 1500,
userAgent: 'test'
})
.then(doStuff)
注意:我一般都不熟悉JS和代码安全性,因此任何信息都对您有所帮助。
答案 0 :(得分:0)
textContent
和value
都返回一个字符串。
value
仅适用于表单控件并返回其当前值。
textContent
适用于任何元素,并返回开始标记和结束标记之间的文本。
输入没有任何文本内容(或与此相关的结束标签),因此textContent
在您的上下文中不是很有用。