Rumah  >  Artikel  >  hujung hadapan web  >  Terokai isu keselamatan storan setempat: fahami risiko keselamatan dan langkah pencegahan

Terokai isu keselamatan storan setempat: fahami risiko keselamatan dan langkah pencegahan

WBOY
WBOYasal
2024-01-13 10:28:051496semak imbas

Terokai isu keselamatan storan setempat: fahami risiko keselamatan dan langkah pencegahan

Mengapa storan setempat tidak selamat? Untuk memahami risiko keselamatan dan langkah pencegahannya, contoh kod khusus diperlukan

Pengenalan:
Dengan pembangunan dan populariti aplikasi web, storan setempat (penyimpanan tempatan) telah menjadi salah satu cara penting untuk menyimpan dan mengurus data. Walau bagaimanapun, di sebalik kelebihannya yang tiada tandingan dalam ketekunan dan kemudahan data, keselamatan storan setempat adalah sangat kontroversi. Artikel ini akan meneroka risiko keselamatan storan setempat dan memperkenalkan beberapa contoh kod khusus langkah berjaga-jaga untuk melindungi data pengguna.

Bahagian Pertama: Risiko Keselamatan

  1. XSS (Serangan Skrip Merentas Tapak)
    Data yang disimpan dalam storan setempat adalah telus kepada aplikasi klien, bermakna mana-mana skrip boleh mengakses dan mengubah suai data secara terus. Ini memberikan kemungkinan suntikan dan pelaksanaan skrip berniat jahat. Penyerang boleh mencuri data, merampas sesi atau mengganggu pengalaman pengguna dengan menyuntik skrip berniat jahat.

Contoh kod:

// 恶意脚本注入示例
// 数据存储
localStorage.setItem('username', '<script>alert("XSS Attack");</script>');
// 数据恢复
document.getElementById('username').innerHTML = localStorage.getItem('username');
  1. CSRF (Pemalsuan permintaan merentas tapak)
    Memandangkan storan setempat boleh dikongsi antara merentas halaman di bawah domain yang sama, penyerang boleh menggunakan ciri ini untuk menjalankan pemalsuan permintaan merentas tapak tanpa serangan pengetahuan pengguna . Dengan memalsukan permintaan yang sah, penyerang boleh melakukan beberapa siri operasi berbahaya yang melibatkan operasi sensitif, seperti menukar kata laluan, memadam data, dsb.

Kod sampel:

// CSRF攻击示例
// 伪造请求
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://target-website.com/delete', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', 'Bearer ' + localStorage.getItem('user_token'));
xhr.send(JSON.stringify({id: '123456'}));

Bahagian 2: Langkah berjaga-jaga

  1. Pengesahan dan penapisan input
    Pengesahan dan penapisan input yang ketat harus dilakukan untuk data yang dimasukkan pengguna untuk mengelakkan suntikan dan pelaksanaan skrip berniat jahat.

Kod Contoh:

// 输入验证和过滤示例
function validateInput(input) {
  return input.replace(/<script.*?>.*?</script>/gi, '');
}
// 存储过滤后的数据
localStorage.setItem('username', validateInput('<script>alert("XSS Attack");</script>'));
  1. Token CSRF
    Apabila membuat permintaan yang melibatkan operasi sensitif, gunakan token CSRF untuk mengesahkan kesahihan permintaan. Sebelum menghantar permintaan, benamkan token CSRF dalam pengepala atau badan permintaan dan sahkannya di bahagian pelayan.

Contoh kod:

// CSRF令牌示例
// 生成令牌
var csrfToken = generateToken();
// 存储令牌
localStorage.setItem('csrf_token', csrfToken);

function generateToken() {
  // 生成随机字符串
  var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  var token = '';
  for(var i = 0; i < 20; i++) {
    token += characters.charAt(Math.floor(Math.random() * characters.length));
  }
  return token;
}

// 发送请求时添加令牌
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://target-website.com/delete', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', 'Bearer ' + localStorage.getItem('user_token'));
xhr.setRequestHeader('X-CSRF-Token', localStorage.getItem('csrf_token'));
xhr.send(JSON.stringify({id: '123456'}));

Kesimpulan:
Walaupun storan setempat mempunyai kelebihan yang tidak boleh ditukar ganti dalam ketekunan dan kemudahan data, keselamatannya perlu diambil serius. Dengan mengukuhkan pengesahan dan penapisan input dan menggunakan langkah pencegahan seperti token CSRF, kami dapat melindungi keselamatan data pengguna dengan berkesan. Bagi pembangun web, adalah sangat penting untuk memahami risiko keselamatan dan langkah pencegahan storan setempat untuk melindungi keselamatan maklumat pengguna.

Atas ialah kandungan terperinci Terokai isu keselamatan storan setempat: fahami risiko keselamatan dan langkah pencegahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn