0

[送信] ボタンが押されるたびに、フォームにこのコードを追加し、ユーザーがフォームに入力した情報に置き換えてください。

{
    flag = false;

    username = new Array("alex364981");
    password = new Array("Codylewis");
    page = "admin/admin242f1221r2fd2fd12r" + ".html";

    if (form.username.value == username[0] && form.password.value == password[0])

    {
        self.location.href = page;
        flag = true;
    }
4

1 に答える 1

0

JavaScript (つまり、クライアント側コード) を使用して単純な認証システムを実装しようとしているように思えます。これは良い考えではありません。

ここでの大きな問題の 1 つは、他のコメンターが指摘しているように、クライアント側からサーバー上の .js ファイルに書き込めないことです。これを実現するには、サーバー側で何かを行う必要があります。

しかし、それ以外の場合、この計画には 2 つの非常に大きなセキュリティ上の欠陥があります。まず、有効なユーザー名とパスワードがプレーン テキストでユーザーに提供されます。ソースを表示すると、ユーザー名とパスワードがあります。第 2 に、認証は保護されたページへのリダイレクトにのみ適用されます。ページへの URL (ソースを表示するだけでも取得できる) がわかっている場合は、そのページに直接アクセスして、そもそも認証を回避できます。

あらゆる形式のセキュリティを備えた認証メカニズムを提供できる唯一の方法は、PHP、Python、Ruby、または ASP.NET などのサーバー側言語 (またはサーバー側 JavaScriptですが、それは別の話です) を使用することです。単純なクライアント側 JavaScript を使用して妥当な認証メカニズムを実装することはできません。

于 2013-02-05T15:07:27.510 に答える