Я хочу передать строку электронной почты в API HIBP .Чтобы обеспечить некоторую должную осмотрительность с моей стороны (мне нравится Трой Хант, и я не хочу создавать для него ненужные проблемы), я хочу максимально тщательно санировать пользовательский ввод.
ОтчастиВ ходе исследования я натолкнулся на два метода получения пользовательского ввода и его передачи в API: textContent и value .
Соответствующий код
var account = document.getElementById('input')
....
fetch('https://haveibeenpwned.com/api/v2/breachedaccount/' + account.value, {
timeout: 1500,
userAgent: 'test'
})
.then(doStuff)
Этот код использует свойство .value, которое, насколько я понимаю, передает строку в запрос на выборку.Мне интересно, если textContent, который передает только ... текстовое содержимое ... как упомянуто этот парень лучше;может, плохие парни могут сделать больше со строкой?
Итак, с этим вторым методом код будет выглядеть примерно так:
var account = document.getElementById('input')
var email = account.textContent;
...
fetch('https://haveibeenpwned.com/api/v2/breachedaccount/' + email, {
timeout: 1500,
userAgent: 'test'
})
.then(doStuff)
Примечание: я новичок в JS и кодебезопасность в целом, поэтому любая информация полезна.