0

JavaScript を使用してホームページを認証する方法はありますか? 私はいくつかの方法を知っていますが、ユーザー名とパスワードがスクリプト自体に配列として保存されているため、「ハッキング」するのは非常に簡単です。

1つか2つのサブページだけを認証する良い方法を知っていますか?

4

5 に答える 5

8

いいえ、純粋な JavaScript を使用してユーザーを認証する方法はまったくありません。

JavaScript はクライアント側で実行されるため、完全かつ簡単に操作できます。

認証は常にサーバー側で行う必要があります。JavaScript を使用して資格情報をサーバーに送信できますが、それらの資格情報を確認することはできません。

于 2010-07-16T11:56:04.470 に答える
1

そうそう、安全な解決策があります。それは「チャレンジ・レスポンス・テクニック」と呼ばれるものです。それはこのように動作します:

  • サーバーがクライアントにチャレンジを送信します (ランダムな文字列)
  • クライアントは受信したパスワードにアタッチし(ユーザー入力から)、この組み合わせのハッシュを作成します
  • サーバーは同じことを行い(DBからのチャレンジ+パスワード)、同等性を確認します
    • すべて問題なければ、サーバーはユーザーをサイトにログインさせます

サーバーがすべてのチャレンジを 1 回だけ送信することで、安全性が達成されます。誰かがクライアントの応答をキャプチャした場合、それは適応できず、cos サーバーはこのチャレンジを二度と送信しません。

于 2010-07-16T12:19:53.767 に答える
0

ユーザーがコンテンツを表示できるかどうかの最終決定がクライアント上で行われている限り、ハッキングは非常に簡単です。

おそらく機能する唯一の方法は、コンテンツをパスワードでエンコードして、パスワードを知らない限り、目的の情報にアクセスできないようにすることです。しかし、それでさえ、おそらく簡単に力ずくで実行でき、実装するのは非常に複雑です。

于 2010-07-16T11:57:54.637 に答える
0

確かに可能です。Web ページを暗号化し、javascript を使用して復号化できます。ただし、それを行うことはほとんど意味がありません。

于 2010-07-16T12:18:35.233 に答える
0

不可能です。許可されていないセッションでクライアントに送信されたデータは、公開されていると見なす必要があります。許可されていないセッションでクライアントに送信された機密データ (パスワードなど) は、危険にさらされていると見なす必要があります。クライアントから受信したデータは、信頼できないと見なす必要があります。

サーバーのみを信頼できます。

もちろん、nodeJS を使用して JavaScript でサーバー側のコードを記述することもできます。

于 2010-07-16T12:05:06.270 に答える