app.get("/user",(req,res)=>{constid=req.query.id;constquery=`SELECT * FROM users WHERE id = ${id}`;
문제점 : query parameter id로 1 OR 1=1와 같이 오게되면 SELECT * FROM users WHERE id = 1 OR 1=1 처럼 쿼리문이 되어 전체 users를 return 할 위험이있다.
개선 : prepared statement로 쿼리하고 id 체크 후 사용하도록
user input validation 중요!
1
2
3
4
5
6
7
8
9
10
app.get("/user",(req,res)=>{constid=req.query.id;constquery="SELECT * FROM users WHERE id = ?";connection.query(query,[id],(error,results)=>{if(error){throwerror;}res.send(results);});});