前端安全实战:密码加密与常见攻击防护
引言
这代码写得跟网红滤镜似的——仅供参考。
各位前端同行,咱们今天聊聊前端安全。别告诉我你还在写明文存储密码,那感觉就像把家门钥匙挂在门口——方便,但不安全。
为什么你需要前端安全
最近看到一个项目,登录表单直接把密码发送到服务器,没有任何加密。我就想问:你是在做应用还是在给黑客送大礼?
反面教材
// 反面教材:不安全的登录
// components/LoginForm.jsx
export default function LoginForm() {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const handleSubmit = async (e) => {
e.preventDefault();
// 直接发送明文密码
const response = await fetch('/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username, password }) // 明文密码
});
if (response.ok) {
// 登录成功
}
};
return (
<form onSubmit={handleSubmit}>
<input = = = => setUsername(e.target.value)} placeholder="用户名" />
setPassword(e.target.value)} placeholder="密码" />
登录
);
}

