programing

nodejs에서 sql-injection을 방지하고 squelize하는 방법은?

oldcodes 2023. 9. 26. 22:32
반응형

nodejs에서 sql-injection을 방지하고 squelize하는 방법은?

Sequelize를 사용하여 사용자 지정 쿼리를 작성하고 가능한 한 SQL Injection의 잠재적인 문제를 방지하고자 합니다.따라서 Sequelize를 사용하여 변수가 삽입된 사용자 지정 쿼리를 안전하게 작성할 수 있는 방법이 있는지 질문합니다.

Sequelize는 대체 기능을 회피하므로 SQL 주입 공격의 핵심인 탈출되지 않은 문자열의 문제를 방지합니다.SQLite 또는 Postgre를 사용할 때 바인딩 매개 변수도 지원합니다.SQL은 여기에 문서화된 것처럼 매개 변수를 쿼리에 별도로 데이터베이스로 전송함으로써 위험을 더욱 완화합니다.

바인딩 매개 변수는 대체 매개 변수와 같습니다.데이터베이스로 쿼리가 전송되기 전에 sequelize에 의해 대체 기능이 제거되고 쿼리에 삽입되는 반면 바인딩 매개 변수는 SQL 쿼리 텍스트 외부의 데이터베이스로 전송됩니다.쿼리에는 바인딩 매개 변수 또는 대체 변수가 있을 수 있습니다.

SQLite 및 Postgre만SQL 지원 바인딩 매개 변수.다른 방언들은 대체를 위해 수행되는 것과 같은 방식으로 SQL 쿼리에 삽입합니다.바인딩 매개 변수는 $1, $2, ...(숫자) 또는 $key(알파 숫자)로 표시됩니다.이것은 사투리와는 별개입니다.

언급URL : https://stackoverflow.com/questions/35668651/how-to-prevent-sql-injection-in-nodejs-and-sequelize

반응형