2010-07-22 2 views
0

안녕하세요, 사용자 이름, 비밀번호, 바이오 등을 수정할 수있는 실버 라이트 애플리케이션이 있습니다.이 정보는 MySQL 데이터베이스에 저장되고 검색된 WCF 웹 서비스를 사용했습니다.Sanitize Silverlight 입력

사용자가 데이터베이스에 들어가기 전에받은 모든 정보를 위생해야합니다. 지금은 DB에 아포스트로피를 저장할 수 없습니다. 입력 (실버 라이트 또는 WCF 메서드)을 살균하는 가장 좋은 곳은 어디입니까? 어떻게해야합니까?

나는 며칠 안에 매개 변수화 된 쿼리를 구현할 예정이므로 아직 SQL 주입에 대해 걱정하지 않습니다.

감사합니다.

답변

2

여기서 정답은 건축 학적 선호 사항입니다. 이러한 유형의 사용자 입력 유효성 검사는 시스템 규칙입니다. 많은 사람들은 모든 규칙 구현이 서비스 측면에서 이루어져야한다고 말합니다. 엄격한 관심의 관점에서 모든 규칙은 시스템의 서비스 측면에있는 비즈니스 논리에 적용되어야합니다.

그러나 이러한 종류의 유효성 검사가 클라이언트에서 처리 될 때 사용자에게보다 즉각적인 피드백을 제공하여보다 유용한 인터페이스를 제공 할 수 있습니다. 사용자에게 잘못된 키를 눌렀 음을 알리는 목적으로 네트워크 트래픽을 생성하지 않는 이점이 있습니다.

결국 어느 방법도 잘못되었습니다. '최상의'접근법은 실제로 시스템에 대해 원하는대로 결정될 수 있습니다. 건축 순도 대 사용자 반응성.

당신은 매개 변수화 된 쿼리를 사용할 권리가 있습니다. 또는 ORM을 사용하고 SQL 주입 보호를받을 수도 있습니다.