แ แแแฌแฝแแ
แ แฐแ
แแแฑ แ แฐแ แ แ แแแณ แ แตแญแ!
Hackers แฅแแณแญแแก โ XSSแฃ SQL Injectionแฃ CSRF แแแแ แ แฅแ
!
แ แแแฌแฝแแ แ แ แแตแแญ แแญ แตแณแแฃ Hackers แญแแญแฉแณแแข แแแแน 4 แฅแแถแฝแ แฐแแญ โ แฅแแดแต แฅแแฐแแตแจแแจแแ แฐแแญ!
XSS แแแต Hacker แ แฐแแ แตแญแชแแต แ แ แแแฌแฝแแ แแตแฅ แซแตแแฃแแข แแแฝ แฐแ แแแแฝ แแนแ แฒแจแแฑ แตแญแชแแฑ แญแฐแซแ โ Cookies แฅแ tokens แแฐแญแ แญแฝแแแข
// โ แตแ แฐแต โ แจแฐแ แแ แแคแต แแฅแณ แ HTML แแตแฅ แ แณแตแแฃ! element.innerHTML = userInput; // แ แฐแแ! // โ แตแญแญแ โ textContent แฐแ แแ element.textContent = userInput; // แฐแ แแแฑ แฐแ แฅแ! // โ Backend แแญ sanitize-html แแฌแ แฐแ แแ const clean = sanitizeHtml(userInput); // โ React แซแฑ แฐแ แแแฑ แฐแ แฅแ แแ // <p>{userInput}</p> โ React แ แซแฑ แญแ แฅแแ!
SQL Injection แแแต แ Login แ แฝ แแตแฅ แ แฐแแ SQL แ แแตแแฃแต แแแแ แแแฅ แแแฃแต แแญแ แแ แแธแต แแแข
// โ แตแ แฐแต โ String concatenation แ แญแซแฝ แ แตแ แแ! const query = `SELECT * FROM users WHERE email='${email}'`; // โ แตแญแญแ โ Parameterized Query await db.query('SELECT * FROM users WHERE email = $1', [email]); // โ Prisma แแญแ Mongoose แฐแ แแ (แซแณแธแ safe แแธแ) await prisma.user.findUnique({ where: { email } });
แจแฐแ แแแแฝ แจแญแแ แแแฝแ แแฅแณ แ แณแณแคแ แแตแฅ แ แณแตแแแฅ! แ แแตแฉ **hash** แ แตแญแแข แจแแตแแ แญแแ 17 (Authentication) แแตแฅ แฅแแฐแฐแแญแแแฃ bcrypt แฐแ แ แแ แจแญแแ แแแฝแ hash แแตแจแ แ แฃแ แ แตแแแ แแแข
// โ แตแญแญแแ แแแแต โ bcrypt แฐแ แแ const bcrypt = require('bcrypt'); // แจแญแแ แแ hash แแตแจแ const saltRounds = 10; const hashedPassword = await bcrypt.hash(password, saltRounds); // แจแญแแ แแ แแแณแฐแญ const isMatch = await bcrypt.compare(inputPassword, hashedPassword);
แ แแแฌแฝแแ แ แจแแฐแฃแฃแ แ แแต แญแ แ แแญแแญ แแ แ แแ แแตแฝ!
HTTP = แญแแต แฝแแ โ แแแ แแแญ แญแณแซแ! HTTPS = แจแฐแแฐแ แ โ Let's Encrypt แแ แแ!
bcrypt.hash(password, 10) โ แแฅแณ แ แณแณแคแ แ แณแตแแแฅ! (แญแแ 17 แแตแฅ แฐแแจแแ)
แจแฐแ แแ แแคแต แแแแ validate แ แตแญแ! Zod แแญแ Joi แฐแ แแ!
15 แฐแแ แแตแฅ 100 แฅแซแแแฝ แฅแป! Brute force แญแจแแจแแ!
npm install helmet โ แ แแต แแตแแญ!
API keysแฃ passwords โ .env แแตแฅ แฅแป! .gitignore แ แตแญแณ!
XSS attack แแญแญ โ Bad vs Good method แซแณแซแ!
Password strength แแฐแป โ แ แแซแซ password แแ แแญแแฑ แแ?
Helmet.js แแ HTTP Security headers แญแจแแซแ?
แจแฐแ แแ แแคแต แแฅแณ innerHTML แ แณแแ! React แฐแ แแ โ แซแฑ safe แแ!
String concatenation แ แญแซแฝ แ แแ! Prisma แแญแ Mongoose แฐแ แแ!
แจแญแแ แแแฝแ แแฅแณ แ แณแณแคแ แ แณแตแแแฅ! bcrypt.hash(password, 10) แฐแ แแ!
express-rate-limit แฐแ แแ โ Hackers แ แซแต-แฐแญ แญแณแแณแ!
API keys แฅแ passwords โ .env แแตแฅ แฅแป! แ GitHub แ แตแซแ!