문제

나는 자유 형식 텍스트 인 필드가 있으며 숫자/기호의 거의 모든 조합을 허용합니다. SQL 주입을 방지하기 위해 이것들을 검증하는 가장 좋은 방법은 무엇입니까? 간단한 선택 마크 교체를 실행할 수 있습니까? 사용할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

매개 변수화 쿼리 만 사용하십시오! 이 기사를 확인하십시오. http://www.functionx.com/aspnet/sqlserver/parameterized.htm

다른 팁

여기에는 다양한 방법이 있습니다.방법 : ASP.NET의 SQL 주입으로부터 보호

인용하다:

대책에는 허용 가능한 문자 목록을 사용하여 입력을 제한, 데이터 액세스를 위해 매개 변수화 된 SQL을 사용하고 데이터베이스에서 권한이 제한되는 최소한의 권한이있는 계정을 사용하는 것이 포함됩니다. 매개 변수화 된 SQL과 함께 저장된 절차를 사용하는 것은 SQL 매개 변수가 유형 안전하기 때문에 권장되는 접근법입니다. 유형-안전 SQL 파라미터는 동적 SQL과 함께 사용할 수도 있습니다. 매개 변수화 된 SQL을 사용할 수없는 상황에서 문자 이스케이프 기술을 사용하는 것을 고려하십시오.

유효성 검사 컨트롤은 클라이언트 쪽이 아닌 서버 측을 실행하지만 도움이 될 수 있습니다. ASP.NET에는 약간의 보호 기능이 있지만 혼자서 의존하지는 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top