재인증을 해야 한다면, 이전에 작성했던 내용들은 서버에 저장하지 않고 재인증 페이지로 전달하는 방식을 사용해야 합니다.
기술설명
사용자가 인증을 해야 하는 페이지에서, 간혹 사용자가 일정한 시간 동안 활동을 하지 않아 세션이 자동으로 종료되는 경우가 있습니다. 사용자가 제한시간 이내에 데이터를 입력하지 못하고 제한 시간 이후에 제출한 경우, 서버는 사용자가 입력한 내용을 서버로 전속하기 전에 재인증을 요구하게 됩니다. 이 경우 서버는 재인증하는 페이지에 사용자가 입력했던 데이터를 숨져서 전달합니다.
그 다음, 사용자가 재인증을 하면 서버는 재인증 페이지에서 숨겨서 전달했던 (사용자가 입력했던)데이터를 서버에 전달하거나, 사용자가 검토 할 수 있게 데이터가 표시된 페이지를 보여줍니다.
이 기술은 사용자가 제출한 데이터를 서버에 저장하지 않습니다. 일시적으로 서버에 정보를 저장하는 것이 불법인 경우, 보안 위험이 있는 경우에 사용되는 기술입니다.
또한 서버는 저장된 정보를 유지 관리하고 새로 인증된 세션과 다시 연결할 필요가 없기 때문에 아주 유용하게 사용도는 기술입니다.
(참고) 사용자가 제출하는 데이터의 내용이 민감하거나 보안이 필요한 경우라면, 제작자는 데이터를 재인증 페이지로 전달하는 프로세스와 재인증 후에 원래 데이터를 처리하는 페이지로 전달하는 프로세스를 고려해서 데이터가 보호되도록 만들어야 합니다.
예시
[예시1] '공동 문서 작업'을 하기 위해 로그인을 하고 문서 편집을 시작합니다.
편집 중에 세션시간이 최과 되었습니다. 사용자가 편집을 마치고 [제출]을 하자, 세션이 초과되었다는 메시를 사용자에게 보냅니다.
그리고 로그인 페이지로 이동합니다.
사용자가 입력했던 내용들은 스크립트를 통해 변수에 저장되어 로그인 페이지에 전달되었으며, 사용자가 다시 로그인하자 그 변수를 입력 양식이 있던 페이지로 다시 전달하고, 세션 시간이 초과한적 없었던 것처럼 다시 입력했던 내용들을 처리할 수 있게 됩니다.
[예시2] 사용자가 쇼핑사이트에 로그인하고 주문양식을 작성하고 있습니다.
보안문제로 세션은 30분 후에 종료됩니다. 사용자는 45분이 지나서야 양식을 제출했습니다.
그러자 사용자에게 세션 시간이 초과 되었으니 다시 로그인하라는 메시지는 나타납니다.
사용자가 다시 로그인하자 사용자가 입력했던 내용이 그대로 있는 주문 페이지가 사용자에게 보여 집니다.
사용자는 내용을 검토하과 양식을 제출 할 수 있습니다. 만약 사용자가 로그인을 하지 않았다면 사용자가 입력했던 내용들은 삭제되었을 것입니다.
관련기술
G105: 사용자가 재인증한 후 사용할 수 있도록 데이터 저장
점검절차
데이터를 제출하기 위해 사용자의 로그인이 필요한 사이트인 경우:
1. 로그인 후에 데이터를 작성합니다.
2. 세션 시간을 초과합니다.
3. 데이터를 제출합니다.
4. 다시 인증합니다.
5. 원본 데이터와 재인증 후 변경된 사항을 포함하여 데이터 손실 없이 프로세스가 계속 진행되어 완료되는지 확인합니다.
6. 3단계에서 제출한 정보를 저장하는데 사용된 프로세스가 서버에 저장되지 않는지 확인합니다.(이를 위해서는 해당 기술에 대한 지식이 필요합니다.)
나의 정리
인증된 상태에서 처리가 필요한 작업이 있습니다.
예를 들어 쇼핑몰에서 물건 주문하기 위해서는 로그인이 먼저 필요하고, 온라인 뱅킹으로 이체를 하려면 인증을 먼저 해야 합니다.
인증을 한 후에 내용을 입력하고 전송을 하면 끝나는데, 문제는 인증을 유지하는 세션에 시간제한이 있다는 것입니다.
이 제한 시간 동안 내용을 입력하고 전송을 해야 하는데 그렇지 못하면 세션이 종료가 되어 버립니다.
이렇게 세션이 종료된 상태에서 데이터를 다 입력하고 전송을 하면, 서버는 세션 시간이 종료가 되었으니 다시 로그인을 하거나 인증을 하라고 사용자에게 알려줍니다.
그리고 다시 로그인하라고 자동으로 로그인 페이지로 이동시킵니다. 이때 서버는 사용자가 입력했던 내용들을 서버에 저장하는 것이 아니라 재인증 하는 로그인 페이지에 보냅니다. 사용자가 재인증에 성공하면 그 내용을 다시 사용자가 작성했던 페이지로 보냅니다. 그럼 사용자는 다시 입력했던 내용을 확인하고 '전송'하면 됩니다.
재인증을 요구할 때 사용자가 작성했던 내용등은 서버가 저장하는 것이아니라 사용자가 보고 있는 페이지로 전송 시킵니다.
집으로 들여보내는 것이아니라 확정이 될 때 가지 계속 이사를 시키는 것입니다.
G181: Encoding user data as hidden or encrypted data in a re-authorization page Important Information about Techniques
https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G181.html
공짜로 혼자서도 할 수 있는 웹퍼블리싱 공부 방법을 알려드립니다.
홈페이지 만들기, 혼자하기 힘들다면 무로 스터디에 들어오세요.
공부 방향을 모르겠다면 무료 과외를 신청하세요.
https://blog.naver.com/redoxup/223134941372