배포 관리 프로젝트에 대해 생각하고있었습니다.사용자가 시스템 날짜를 변경하여 다시 날짜에 테이블을 업데이트하도록 허용하지 않음
회사에서 제조 한 제품의 모든 판매 정보가 포함 된 중앙 데이터베이스가 있다고 가정합니다. 나는 일정한 간격으로 배급업자로부터의 새로운 데이터로이 데이터베이스를 채 웁니다.
배포자 시스템에는 다른 로컬 데이터베이스가 설치되어 있습니다. Java EE Platform에는 특정 로컬 데이터베이스에 액세스하는 특정 인터페이스가 있습니다. 매주 배포자는 데이터베이스를 우리 데이터베이스와 동기화해야합니다. 배포자가 데이터베이스와 동기화되면 판매 기록이 업데이트됩니다.
배포자는 다시 날짜로 판매하지 않아야합니다. 그러나 배포자가 시스템 날짜를 변경하여 해당 날짜의 판매 송장을 로컬 데이터베이스에 추가함으로써이를 수행한다고 가정합니다. 그런 다음 그는 데이터베이스를 우리 데이터베이스와 동기화하고 판매가 데이터베이스에 반영됩니다.
필자는 어떻게 프로그래머가 인터페이스를 만들지 못하게 할 수 있습니까?
데이터베이스가 다른 서버에 상주하고 클라이언트가 다른 컴퓨터에 상주하는 경우가 대부분입니다. SYSDATE 함수를 사용하여 각 트랜잭션 시간을 저장한다고 가정 해 보겠습니다. Remeber는 서버에서 시간을 반환하지 않기 때문에 사용자가 로컬 시스템에서 시간을 변경하더라도 서버는 서버의 시간에 작동합니다. 어쩌면 서버와 클라이언트가 같은 시스템에있는 환경에서 테스트를하고있을 수도 있습니다.이 경우 사용자는 시간을 변경함으로써 서버의 시간을 변경함으로써 우회 할 수 있습니다. 그러나 프로덕션 서버에서는 이러한 상황이 발생하지 않아야합니다. –
@MasterChief 이것은 실제로 사람들이 직면하고있는 진정한 문제입니다. 프로그래밍 방식으로 배포자를 확인하는 방법은 무엇입니까? 그는 다시 날짜에 인보이스를 추가 할 수 없습니다. 그는 오래된 송장을 추가 할 수 없어야합니다. – UrsinusTheStrong
매주 배포자 데이터베이스와 동기화하고 있습니까? 1 주일 이상 된 유통 업체의 데이터베이스 기록을 수락하지 마십시오. 문제 해결됨. –