웹 응용 프로그램 에서 중복 제출 한 문제 의 세 가지 해결 방안

1095 단어 Struts
앞의 두 가 지 는 자바 script 을 이용 하고, 뒤의 하 나 는 Struts 를 사용 한 상황 에서 참고 하여 이 루어 집 니 다.
1 javascript, 변 수 를 설정 하고 한 번 만 제출 할 수 있 습 니 다.


2. 자 바스 크 립 트 입 니 다. 제출 버튼 이나 이미 지 를 disable 로 설정 합 니 다.


3 struts 의 동기 화 토 큰 체 제 를 이용 하여 동기 화 토 큰 (Token) 체 제 를 이용 하여 웹 응용 에서 중복 제출 하 는 문 제 를 해결 하고 Struts 도 참고 하여 실현 했다.기본 원리:        서버 측은 도착 한 요청 을 처리 하기 전에 요청 에 포 함 된 토 큰 값 을 현재 사용자 세 션 에 저 장 된 토 큰 값 과 비교 하여 일치 하 는 지 확인 합 니 다.이 요청 을 처리 한 후 클 라 이언 트 에 게 보 내기 전에 새로운 토 큰 이 생 길 것 입 니 다. 이 토 큰 은 클 라 이언 트 에 게 보 내 는 것 외 에 도 사용자 세 션 에 저 장 된 오래된 토 큰 을 교체 합 니 다.이렇게 하면 사용자 가 방금 제출 한 페이지 로 되 돌아 가 다시 제출 하면 클 라 이언 트 가 보 낸 토 큰 은 서버 측의 토 큰 과 일치 하지 않 아 중복 제출 을 효과적으로 방지 할 수 있 습 니 다.


Struts 는 사용자 세 션 ID 와 현재 시스템 시간 에 따라 유일한 (세 션 마다) 토 큰 을 생 성 합 니 다. 구체 적 인 실현 은 TokenProcessor 클래스 의 generateToken () 방법 을 참고 할 수 있 습 니 다.1. / 사무 제어 토 큰 을 검증 하면 session 의 표지 에 따라 input 대표 토 큰 을 자동 으로 생 성하 여 두 번 의 제출 을 방지 합 니 다. action 에서:


3. action 은 토 큰 을 만 드 는 방법 이 있 습 니 다.

좋은 웹페이지 즐겨찾기