2011-12-06 4 views
0

CMS에서 작업 중이며 입력을 DB에 저장하기 전에 관리자 백 엔드에서 제출 한 모든 제어 문자 (BEL, NUL, LF, FF)를 제거하려고합니다. 코드에서 저장이 수행 될 때마다이 작업을 수행하는 메소드를 호출하는 것이 아니라 한 번 수행하고 싶습니다..Net DbCommand 살균 입력

우리는 DbCommand를 래핑하는 클래스를 통해 모든 DB 액세스를 수행합니다. 모든 매개 변수의 값을 반복하고 컨트롤 문자를 제거하는 메서드를 호출하여 한 곳에서 구현되고 개발자가 코드를 저장하는 새 데이터에 메서드를 사용하는 것을 기억하지 않아도된다는 것이 좋을 것이라고 생각했습니다.

나는 미친가요? 이것이 가능한가? 이것이 아니라면 가장 좋은 방법은 무엇입니까?

답변

0

입력 소거는 IDbCommand 구현으로 수행됩니다. 매개 변수 문자열 값에 대해 더 많은 작업을 수행하려면 IDbCommand을 구현하는 decorator을 구현하고 내부 메서드에 실행 메서드를 위임하기 전에 유효성 검사를 수행하는 것이 좋습니다.

0

디자인, 의도 등을 알지 못하면서

나는 좋은 소리. 루프 중에 Regex.Replace()를 호출하면됩니다. 모든 문자를 넣을 수도 있습니다. 당신은 테이블/설정 파일에서 제거/교체되기를 원하기 때문에 하드 코딩되지 않고 쉽게 업데이트됩니다.