前端安全实战:密码加密、XSS 与 CSRF 防护指南
为什么你需要关注前端安全
最近审查过一个项目,登录表单直接把密码以明文形式发送到服务器。这就像把家门钥匙挂在门口——方便是方便了,但安全隐患极大。在开发过程中,我们往往容易忽略传输层和存储层的安全细节,但这恰恰是黑客最容易下手的地方。
风险案例:明文传输的代价
很多开发者习惯直接传递用户凭证,却忽略了网络嗅探的风险。以下是一个典型的反面示例,展示了不安全的登录逻辑:
// components/LoginForm.jsx
import { useState } from 'react';
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}>
< = = = => setUsername(e.target.value)} placeholder="用户名" />
setPassword(e.target.value)} placeholder="密码" />
登录
);
}

