JavaScript ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web, yang boleh menjadikan halaman web lebih interaktif dan dinamik. Walau bagaimanapun, dengan tepat kerana fungsi dan fleksibiliti yang berkuasa, JavaScript juga mempunyai beberapa risiko keselamatan. Artikel ini akan memperkenalkan beberapa isu keselamatan dalam JavaScript, serta langkah pertahanan yang sepadan, dan menyediakan beberapa contoh kod khusus untuk digambarkan.
Pengesahan input: Sahkan data yang dimasukkan oleh pengguna dan tapis aksara khas dan tag HTML.
function sanitizeInput(input) { return input.replace(/[<>]/g, ""); }
Pengekodan output: Gunakan pengekodan yang sesuai apabila memasukkan data yang dimasukkan pengguna ke dalam halaman web.
function insertText() { var userInput = document.getElementById("input").value; var sanitizedInput = sanitizeInput(userInput); document.getElementById("output").innerText = sanitizedInput; }
Tetapkan Polisi Kandungan-Keselamatan pengepala HTTP: Maklumat pengepala ini boleh mengehadkan pelaksanaan JavaScript dan menghalang suntikan skrip berniat jahat.
Content-Security-Policy: script-src 'self'
Sahkan perujuk: Sahkan perujuk yang diminta di bahagian pelayan untuk menentukan sama ada ia adalah sumber yang sah.
if (referer != 'https://example.com') { discardRequest(); }
Gunakan token CSRF: simpan token yang dijana secara rawak dalam sesi dan tambahkannya sebagai parameter atau pengepala kepada permintaan di mana sahaja permintaan dibuat.
var token = generateToken(); var request = new XMLHttpRequest(); request.open('POST', '/api/update', true); request.setRequestHeader('X-CSRF-Token', token);
Tetapkan atribut SameSite: Tetapkan atribut SameSite dalam kuki kepada Strict atau Lax untuk mengehadkannya kepada hanya dihantar dalam tapak yang sama.
Set-Cookie: sessionID=123; SameSite=Strict;
Kemas kini perpustakaan dan tanggungan dengan kerap: Kemas kini versi perpustakaan dan tanggungan pihak ketiga tepat pada masanya untuk mendapatkan tampung keselamatan terkini.
npm update
Nilai keselamatan perpustakaan: Apabila memilih untuk menggunakan perpustakaan pihak ketiga, anda harus menyemak sama ada perpustakaan itu mengetahui kelemahan keselamatan dan memahami reputasi dan aktiviti penyelenggaranya.
Atas ialah kandungan terperinci Ketahui tentang keselamatan dan pertahanan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!