Я нашел эту статью в Интернете о xss и csrf https://www.redotheweb.com/2015/11/09/api-security.html, когда вы прокручиваете весь путь до «решения», он говорит вам об использовании токена и файла cookie сеанса. Ниже приведен пример кода. Мой вопрос в том, что когда происходит атака xss, так называемый хакер может просто запустить этот кусок кода. Извлеките токен из локального хранилища, и файл cookie автоматически присоединится. Или я что-то упустил?
authenticate(login, password)
.then(function(authentication) {
window.sessionStorage.setItem('token', authentication.token); // store token
})
.then(getAccounts)
.then(function(accounts) {
// display the accounts page
// ...
})
.catch(function(error) {
// display error message in the login form
// ...
});
/**
* @return {Promise}
*/
function getAccounts() {
return fetch('https://api.bobank.com/accounts', {
headers: {
'Authorization': 'Token ' + window.sessionStorage.getItem('token'), // <= include token
'Content-Type': 'application/json; charset=utf-8',
'Accept': 'application/json',
},
credentials: 'include' // <= include session cookie
}).then(function(response) {
return response.json();
})
}
Мой конкретный вопрос: эта статья неправильная? И есть ли безопасный метод решения этой проблемы.