前端安全实践
为何需要关注前端安全
近期发现部分项目直接在前端存储用户密码,且无任何加密措施。前端安全不容忽视,否则数据极易泄露。
不安全示例
// 反面教材:不安全的登录逻辑
function Login() {
const [username, setUsername] = React.useState('');
const [password, setPassword] = React.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 })
});
const data = await response.json();
// 直接存储 token 在 localStorage
localStorage.setItem('token', data.token);
};
return (
<form onSubmit={handleSubmit}>
<input type= = = = => setUsername(e.target.value)} />
setPassword(e.target.value)} />
登录
);
}
;

