2012-07-06 1 views
0

"사용자 이름"과 "비밀번호"를 입력 할 수있는 초기 로그인 화면이 있습니다. 네 개의보기가 있으며 첫 번째 로그인보기에 입력 한 "사용자 이름"과 "암호"를 사용하여 네 번째보기에서 SSH 연결을 설정합니다.Ruby on rails 비밀번호가 url에 매개 변수로 표시됩니다.

사용자 이름과 비밀번호를 전달하고 사용하려면이 모든보기에서 hidden_field_tag을 전달해야하며 제출 버튼을 클릭하면 숨겨진 필드 값이 두 번째보기로 전달됩니다.

모든 제출은 get입니다.

사용자 이름과 비밀번호는 매개 변수로 전달할 때 URL에 표시됩니다. get 대신 post 요청을 사용하면 브라우저에서 뒤로 버튼을 클릭하면 페이지가 만료됩니다.

어쨌든 URL의 매개 변수를 숨기거나 암호화 할 수 있습니까?

감사합니다.

답변

1

나는 우리가 GET가 PARAMS를 노출 알고 숨길 수있을 거라고 생각하지 않습니다. 대신 세션에 저장할 수 있는지 궁금하네요? 당신이 손에서 뭘하고 있는지 모르겠지만 논리는 약간 불투명합니다. 어쩌면 논리를 일반적인 패턴으로 다시 생각할 수 있습니다. 행운을 빕니다!

+0

저는 레일 및 웹 개발에 새로운 경험이 있습니다. 컨트롤러와 일부보기 만 있습니다. 로그인 페이지에 입력 된 사용자 이름과 암호를 세션에 저장하고 나중에 네 번째보기에서 사용할 수 있습니까? 감사합니다 – user1455116

+1

여기에 http://guides.rubyonrails.org/security.html#sessions –

+0

@ 루카스 Nogueira 고맙다, 그게 내 문제를 해결 – user1455116

0

정말 GET 요청으로 사용자 이름과 암호를 전달하지 않아야합니다. 대신 4 단계 프로세스로 돌아가서 다른 프로세스 버튼을 사용하여 POST로 전체 프로세스를 수행 할 것을 권장합니다.이 방법을 사용하면 이전 페이지로 이동할 때 사용자가 데이터를 잃지 않도록 할 수 있습니다.

<%= form.submit 'Previous Step' %> 
<%= form.submit 'Next Step' %> 

컨트롤러 :

if params[:commit] == "Next Step" 
    object.update_attributes(params[:item]) 
    <..logic..> 
end 
0

정말 사용자 이름과 암호를 요청으로 전달해서는 안됩니다. 페이지가 게시물로 만료되기를 원하지 않으면 AJAX 게시 요청을 통해 사용자 이름과 비밀번호를 보내고 나머지는 요청을 통해 얻을 수있는 일을 할 수 있다고 가정합니다.

0

뒤로 버튼을 눌렀을 때 만료되는 페이지의 문제점은 무엇입니까? 나 한테 잘됐다. 종종 무언가에 로그인 할 수 없으면 뒤로 버튼을 눌러 페이지 (예 : Google)로 돌아갈 수 있습니다. 게시물을 사용하십시오.

+0

나는 게시물을보기로 리디렉션하는 데 피곤했지만 사용하지 못했습니다. – user1455116

+0

당신은 더 구체적이어야합니다, 나는 포스트 리디렉션을합니다 - 항상 얻으십시오 –