이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 19901|회답: 0

[통신] C# winform은 SQL 인젝션을 방지합니다

[링크 복사]
게시됨 2015. 1. 29. 오전 10:12:59 | | |
파라미터 패스:
문자열 SQL = "사용자 이름=@username PWD=@pwd 타입 = @type Zhuce에서 count(*)를 선택함";
SqlConnection conn = new SqlConnection(Common.Context.SqlManager.CONN_STRING);
            조종. Open();

            SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@username",SqlDbType.VarChar,30);
cmd.Parameters.Add("@pwd",SqlDbType.VarChar,30);
cmd.Parameters.Add("@type",SqlDbType.VarChar,10);
cmd.Parameters["@username"]. Value = 사용자 이름;
cmd.Parameters["@pwd"]. 가치 = pwd;
cmd.Parameters["@type"]. 가치 = 힘. 문자 메시지;

            int count = Convert.ToInt32(cmd.ExecuteScalar());

            조종. 클로즈();



어떤 데이터베이스를 사용하시는지 잘 모르겠습니다
다음은 SQL-Server 코드 한 조각입니다
주입 공격을 막는 가장 중요한 것은 스플라이싱 매개변수를 사용하는 것이 아니라 매개변수 할당 방법을 사용하는 것입니다.
SqlConnection conn=......
SqlCommand comm =new SqlCommand ("name = @loginame password = @loginpassword", conn에서 table1에서 count (*)를 선택);
통신. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20);
통신. Parameters["@loginame"].value=TextBox1.Text;
통신. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20);
통신. Parameters["@loginpassword"].value=TextBox2.Text;
통신. Connection.Open();
int mark=(int)comm. ExecuteScalar()
//--mark用于标记




이전의:comboBox 읽기 전용으로 설정(선택 전용)
다음:SQL Server 복합 인덱스 학습
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com