正文
Web安全是Web开发中至关重要的环节,涉及多种安全威胁和防护措施。 主要安全威胁: 1. XSS(跨站脚本攻击):注入恶意脚本 2. CSRF(跨站请求伪造):伪造用户请求 3. SQL注入:数据库查询注入 4. 身份验证和授权:用户身份验证 5. 数据加密:敏感数据保护 防护措施示例: ```javascript // XSS防护 function escapeHtml(text) { const div = document.createElement('div'); div.textContent = text; return div.innerHTML; } // CSRF防护 app.use(csrf()); app.post('/api/data', (req, res) => { // 验证CSRF token if (!req.csrfToken()) { return res.status(403).json({ error: 'CSRF验证失败' }); } // 处理请求 }); // SQL注入防护(使用参数化查询) const query = 'SELECT * FROM users WHERE id = ?'; db.query(query, [userId], (err, results) => { // 处理结果 }); // 密码加密 const bcrypt = require('bcrypt'); const saltRounds = 10; async function hashPassword(password) { return await bcrypt.hash(password, saltRounds); } async function verifyPassword(password, hash) { return await bcrypt.compare(password, hash); } // HTTPS强制 app.use((req, res, next) => { if (req.header('x-forwarded-proto') !== 'https') { res.redirect(`https://${req.header('host')}${req.url}`); } else { next(); } }); ``` Web安全需要从多个层面进行防护,确保应用的安全性。 None None