"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 더 이상 사용되지 않는 `MySqlCommand.Command.Parameters.Add` 경고를 해결하고 SQL 주입을 방지하는 방법은 무엇입니까?

더 이상 사용되지 않는 `MySqlCommand.Command.Parameters.Add` 경고를 해결하고 SQL 주입을 방지하는 방법은 무엇입니까?

2025-01-22에 게시됨
검색:265

How to Resolve the Obsolete `MySqlCommand.Command.Parameters.Add` Warning and Prevent SQL Injection?

MySqlCommand.Command.Parameters.Add 사용되지 않는 경고: AddWithValue로 전환

질문:

MySqlCommand를 사용하여 MySQL 데이터베이스에 데이터를 삽입하는 동안 다음을 나타내는 경고가 표시됩니다. "MySqlCommand.Command.Parameters.Add는 더 이상 사용되지 않습니다." 매개 변수 값이 올바르게 삽입되지 않습니다. 이 문제를 해결하고 SQL 주입 안전을 보장하려면 어떻게 해야 합니까?

답변:

경고를 해결하고 SQL 주입 방지를 개선하려면 "추가" 사용에서 전환해야 합니다. MySqlCommand에 매개변수를 추가하려면 "AddWithValue"로 설정하세요.

수정됨 코드:

...
command.Parameters.AddWithValue("@mcUserName", mcUserNameNew);
command.Parameters.AddWithValue("@mcUserPass", mcUserPassNew);
command.Parameters.AddWithValue("@twUserName", twUserNameNew);
command.Parameters.AddWithValue("@twUserPass", twUserPassNew);
...

추가 고려 사항:

  • SQL 문에서 매개 변수 자리 표시자 주위의 작은따옴표를 제거합니다.
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES (@mcUserName, @mcUserPass, @twUserName, @twUserPass)";
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3