0

「ユーザー名」と「パスワード」を入力できる初期ログイン画面があります。4つのビューがあり、最初のログインビューで入力した「ユーザー名」と「パスワード」を使用して、4番目のビューでSSH接続を確立しています。

ユーザー名とパスワードを渡して使用するために、hidden_field_tagこれらすべてのビューでそれらを渡します。送信ボタンをクリックすると、これらの非表示のフィールド値が2番目のビューに渡されます。

これらの送信はすべてgetリクエストです。

ユーザー名とパスワードは、パラメーターとして渡すため、URLに表示されます。postの代わりにリクエストを使用するgetと、ブラウザの[戻る]ボタンをクリックするとページが期限切れになります。

URLでこれらのパラメータを非表示/暗号化する方法はありますか?

ありがとう。

4

4 に答える 4

1

GETがパラメータを公開していることがわかっているので、それらを非表示にすることはできないと思います。代わりにそれらをセッションに保存できるかどうか疑問に思いますか?あなたが手元で何をしているのかわかりませんが、ロジックは少し不透明に見えます。たぶん、ロジックをより一般的なパターンに再考することができます。幸運を!

于 2012-07-06T16:16:01.920 に答える
0

GETリクエストとしてユーザー名とパスワードを渡してはいけません。代わりに、別のフォームボタンを使用して、4ステップのプロセスに戻ることをお勧めします。これにより、移動する方向に関係なく、POSTによってプロセス全体が実行されます。これにより、ユーザーが前のページに移動したときにデータが失われることもありません。

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

コントローラ:

if params[:commit] == "Next Step" 
  object.update_attributes(params[:item])
  <..logic..>
end
于 2012-07-06T16:15:39.413 に答える
0

getリクエストとしてユーザー名とパスワードを渡してはいけません。ページを投稿として期限切れにしたくない場合は、AJAX投稿リクエストを介してユーザー名とパスワードを送信し、残りをgetリクエストで送信する何かを行うことができると思います。

于 2012-07-06T16:18:51.180 に答える
0

戻るボタンを押すとページが期限切れになるのは何が問題になっていますか?私には問題ないようです。多くの場合、何かにログインしてから戻るボタンを押してページに戻ることはできません。たとえば、googleなどです。 投稿を使用します。

于 2012-07-06T17:03:37.920 に答える