2

現在、次の問題に直面しているWebサイトを開発しています。

ユーザー ID とパスワードをログイン ページに渡し、スクリプトを使用してページを自動送信してみました。これにより、ユーザーは次のページに移動します。これは、私のサイトのログイン ページをバイパスするためのものです。これは完全に正常に機能します。

  1. Mozilla Firefox ブラウザーで「スクリプトなし」アドオンが有効になっている場合、フォームを自動送信するスクリプトが機能しません。その結果、ユーザー ID とパスワードが入力されたログイン ページがユーザーに表示されます。

  2. また、ログイン ページを自動送信すると、ユーザーがフロント エンドでログイン ページを表示できる場合があります。

これら 2 つの問題を克服する方法はありますか?

4

2 に答える 2

2

現在行っているようにユーザーのブラウザーをリダイレクトすることは、常にブロックできる Javascript を使用したクライアント側でのみ可能です。user_id と password をセッション変数に保存し、実際の認証を処理するログイン ページでそのデータにアクセスできます。そのようにすると、フォームを自動送信する必要がなくなります。

しかし、本当にフォーム投稿を使用したい場合は、cURL を使用して PHP でフォーム投稿をエミュレートできますが、これはもう少し複雑です。

php.net の cURL

PHP と cURL を使用して投稿フォーム データを送信する

私のサイトでは、ユーザーがログインしていない場合、ページの読み込みごとに「tryCookieAuthentication」メソッドを実行し、「remember me」Cookie が設定されているかどうかを確認します。設定されていて、すべてが正当であると思われる場合は、先に進み、ユーザーを認証してログインします。この方法では、ユーザーはログイン ページに触れる必要さえありません。これがあなたがやろうとしていることかどうかはわかりませんが、アイデアが得られるかもしれません。

于 2011-01-22T18:18:56.187 に答える
1

ユーザーがログインページを要求したときに user_id と password をすでに知っている場合は、ロケーションヘッダーを送信するだけです

于 2011-01-22T18:12:36.353 に答える