2014-02-05 1 views
0

나는 이것을 위해 내가 vairable가, ASP에서 보간 변수를 사용하고 있습니다 :변수 보간, ADO

cid=Request.Form("customerID") 

하고,

rs.open "SELECT * FROM customers WHERE customerID='" & cid & "'",conn 

위의 문을 작동하지 않습니다.
이 작동하는 동안 :

rs.open "SELECT * FROM customers WHERE customerID=1",conn 

누군가 나를 도와주세요 수 있습니다 ???

+1

인 경우 불량 인'cid'는'1', 당신이 확인한되어 있나요? 그것은 SQL 인젝션에 취약합니다. 고장 모드 란 무엇입니까? –

+0

주입 공격으로부터 해당 스 니펫을 보호하는 간단한 방법은'cid = Cint (Request.Form ("customerID"))'입니다. - customerID가 숫자 – John

답변

1

SQL 주입을 위해 코드가 열려 있습니다!

매개 변수화 된 쿼리에 대해 읽어보십시오. 첫 번째 SQL에서

당신은 아포스트로피 (') CID는 경우 작동합니다 수

+0

이라고 가정하면 감사합니다 @ulluoink :), 제거 (') 나를 위해 일했습니다. . 고마워요 :) – user3275206

+0

@ user3275206 프로덕션 환경에서이 방법을 사용하는 대신 매개 변수가있는 쿼리를 빌드하는 데 'ADODB.Command'를 사용하는 것을 권합니다. – Lankymart