내 수석 디자인 프로젝트에서 나는 많은 하위 도구로 iGoogle 유형 응용 프로그램을 만들고 있습니다. 응용 프로그램은 많은 양의 AJAX를 사용합니다. 이 때문에 일부 정보는 클라이언트에 전송 될 때 페이지에 저장되므로 추가/삭제 등의 작업을 수행 할 때 도구에 업데이트 할 수 있습니다.SQL 서버 업데이트/삽입/삭제 가입 질문
내 질문은 보안과 관련하여 발생합니다. 데이터가 클라이언트 측에서 변조되어 사용자가 잠재적으로 다른 사용자 데이터에 영향을 미치지 않도록 할 수는 없습니다.
내가하고 싶은 것은 사용자가 자신의 데이터 만 변경하고 있는지 확인하기 위해 삽입/업데이트/삭제 문을 만들 때 userid를 확인하는 것입니다.
이것은 사용자 테이블의 사용자 ID를 외래 키로 사용하는 첫 번째 테이블에는 문제가되지 않습니다. 그러나 나는 거기에서 분기하는 수많은 다른 테이블을 가지고있다.
두 개의 별도 명령문/쿼리를 수행하지 않고도 할 수있는 방법이 있습니까? 내가 선택 조인을 할 수있는 그런 레코드가 존재하는지 확인한 다음 업데이트/삽입/삭제를 수행하십시오. 한 가지 진술로 할 수 있습니까?
SQL Server에서 하위 쿼리를 살펴보기 시작했습니다. 서브 쿼리를 사용하여이 작업을 수행 할 수 있습니까?
만약 이것이 바보 같은 질문이라면, 내 무지를 변명하십시오. 아직도 배우기. 감사.
그럼 내가 가짜 사용자 ID를 악의적 인 데이터와 함께 제출하는 것을 어떻게 막을 수 있습니까? –
귀하의 질문은 SQL Server에서 데이터를 보호하는 방법에 관한 것이지만 디자인 아키텍처가 중요한 부분입니다. 예, 저장 프로 시저를 사용해야하며, 예, 조인 또는 하위 쿼리를 사용하여 실행 사용자가 특정 데이터를 조작 할 수 있는지 여부를 결정할 수 있습니다. 그러나 이러한 규칙/제약 조건은 "또한"UI에 적용되어야합니다. 사용자로서 UI에서 이러한 모든 작업을 수정 한 다음 변경 내용을 커밋하려고 시도한다고 상상해보십시오. 그런 다음 백엔드 (즉, SQL Server)에서 사용자가 수정하려고 시도한 내용을 수정할 수 없다고 말하면 앱이 소리를 지릅니다. 사용자로서 방금 시간을 낭비했습니다. – bitxwise