2009-07-27 5 views
5

내가 본 모든 샘플은 저장 프로 시저를 사용합니다. 인라인 SQL을 사용하는 Classic ASP로 작성된 이전 응용 프로그램을 채택했습니다. 이것은 명백한 문제이므로 더 안전한 코드로 변환해야합니다. 클라이언트는이 응용 프로그램에서 저장 프로 시저를 사용하기를 원치 않으므로 저장 프로 시저없이 매개 변수화 된 쿼리를 실행하는 방법이 있습니까?저장 프로 시저가없는 매개 변수화 된 쿼리?

감사합니다.

답변

-1

클라이언트가 저장 프로 시저를 사용하지 않는 어떤 이유가 있습니까? 소스 코드뿐만 아니라 데이터베이스 수준에서도 저장 프로 시저를 사용하는 것이 훨씬 쉽습니다. 위에서 두 번째 방법을 사용하는 경우 인라인 쿼리에서 쿼리 계획 캐싱을 가져와야하지만, 클라이언트에서 사용하는 것이 좋다고 설득 할 수 있다면 간단한 sprocs로 더 잘 수행 할 수 있습니다. 다른 모든 것이 실패하면 위의 링크는 꽤 견고합니다. 특히 두 번째 링크는 매우 견고합니다.

+0

- 1 : "쉽다"는 주관적이며 저장 프로 시저의 사용은 SQL 주입에 대한 보장이 아닙니다. – RedFilter

+0

이것이 주관적인 일이라고 생각하지 않습니다. 이것은 다중 계층 개발의 표준 개념으로, 논리와 데이터 계층을 분리합니다. 나는 또한 저장 프로 시저가 SQL 주입에 대한 보호를 보장한다고 말한 적이 없다. 매개 변수화 된 쿼리 및 저장 프로 시저를 사용하면 SQL 삽입을 허용하는 지연 코딩에서 발생하는 많은 상황을 방지 할 수 있지만 sprocs의 동적 쿼리가 다른 것보다 취약 해지는 것을 막지는 못합니다. 아래 표는 이것이 적절하고 통찰력있는 응답 이었음을 고려할 때 매우 부적절한 것 같습니다. – tcnolan

관련 문제