2013-06-18 5 views
0

입력 텍스트 필드에 새 값을 지정할 수 있지만 입력 텍스트의 원래 값을 표시하는 방법이 있습니까? 내가 원하는 제출 동안원래 값을 유지하여 입력 텍스트 필드 값을 변경하십시오.

<s:textfield name="user.login" maxlength="20" size="20"/> 

: 내가 해달라고하는 것은 가정 해 사용자의 로그인 속성에 사용자 클래스에 바인딩 사용자 로그인과 같은 이름을 가진 Struts2 텍스트 필드가 입력 텍스트에 "존"을 입력한다 "john"을 일부 encripted 값으로 변경하고 해당 값을 텍스트 필드에 지정하여 Action 클래스에서 해당 값을 검색 할 수 있습니다.

문제는 그 아래의 라인을 추가 할 때

document.getElementsByName("user.login")[0].value="johnnew887878"; 

, 사용자가 자신의 원래 입력 된 값이 변경 볼 acheive하는 것입니다. 나는 그것을 막고 싶다.

답변

0

양식을 제출하고 숨겨진 필드에 암호화 된 값을 할당하고 폼에 필드를 추가하고 사용자 클래스에서 암호화 된 값을 잡을 때 숨겨진 필드를 만들 수 있습니다.

+0

여기에서 문제는 양식 제출과 함께 제출하는 비 암호화 된 사용자 이름과 암호입니다. 위에서 수행하는 모든 아이디어는 사용자가 원래의 자격 증명을 제출하지 않고 암호화 된 값을 대신 제출하는 것을 방지합니다. – Harshana

+0

이름과 암호 필드의 값을 공백으로 설정하고 숨겨진 필드를 통해 암호화 값을 보낼 수 있습니다. 해커가 암호화 된 값에서 암호를 읽을 수 있고 해독하려고하기 때문에이 기능에는 결함이 있습니다. 가장 좋은 옵션은 서버 토큰 키를 생성하고 숨겨진 필드에 해당 키를 저장하고 서버의 키와 일치시키는 것입니다. 또한이 키는 몇 분 또는 몇 초 동안 만 유효합니다. 또한 서버에 암호 소금을 만드십시오. 소금을 암호에 연결하고 DB에 저장하십시오. 그리고 암호를 일치시키는 동안 해당 키를 암호와 연결하여 일치시킵니다. – pvnarula

+0

예 현재 내가 제안한 것과 유사합니다. 나는 그것을 위해 JEncription을 사용한다. 우선 서버에서 jsp를 생성하고 자바 스크립트 변수에 저장 한 다음 사용자가 암호화 된 사용자 이름 암호를 해당 키와 함께 제출하고 사용자가 입력 한 자격 증명을 암호화 된 값으로 바꿉니다 (문제는이 지점에서 사용자가 값을 입력 변경) 다음 submit.This 사용하고 struts2 환경입니다. 그러나 당신이 언급 한 것처럼 그것들을 비워두고 숨겨진 변수에 암호화 된 값을 제출하는 것은 괜찮습니다. 하지만 다시 사용자가 갑자기 사라지는 그의 가치관을 불평 할 것입니다. – Harshana

관련 문제