1

ユーザー名/パスワードでページにアクセスできるようにする最も簡単な方法は何ですか?学校では、SQLとJavaを使用してサーバー側でこれを行うことを学びました。クライアント側でのみこれを行う方法があるのだろうか?

編集:笑...応答に基づいて、私はおそらくクライアント側を指定した理由を言う必要があります。一部の従業員を支援するために、会社のWebサイトに追加のページをロードするように求められています。私はこの余分なページをデザインしなかったので、非常に簡単なログインでこれを我慢するように頼まれました。確かに、クライアント側のログインが十分であることを上司に確認する必要があります。彼らがそれがそれほど重要ではないと決定した場合。ページ自体にはサイトへのリンクがないため、誰かがページがそこにあることを知っているか、スヌープすることを決定しない限り、誰もそれがそこにあることさえ知りません。

4

6 に答える 6

2

.htaccessファイルで保護されたディレクトリにページを保存できます。

これはサーバー側になります(.htaccessファイルをディレクトリにアップロードする必要があります)。

しかし、クライアント側?うーん、私が想像する唯一のことは、位置を指定してDIVを作成することです。これは、すべてのページコンテンツに適用される固定です。

ユーザーとパスワードを要求し、Javascript(これはクライアント側)を使用してそれらを確認してから、ログインビューを含むDIVにプロパティ「display:none」を追加します。

これにより、ログインビューが非表示になり、その下にあるページが表示されます。

これは私の意見では大きなセキュリティ問題です。Firebugを使用してWebを簡単に編集し、パスワードを入力せずにDisplay:noneをdivに追加できます。

ただし、パスワードはJavascriptに含まれているため、ソースコードを表示するだけでパスワードを確認できます。

于 2012-08-09T18:56:47.023 に答える
1

さて、あなたはどういうわけかパスワード保護のわずかな錯覚を提供するであろうHTML入力で基本的なJavaScriptダミーを試すことができます。それ以外の場合は、HTMLフォームを作成し、PHPセッションを使用します。これらはおそらくチュートリアルが最も多い言語なので、それを実行するのにそれほど時間はかかりません。

于 2012-08-09T18:53:44.393 に答える
1

これをクライアント側でのみ安全に行うことはできません。ブラウザ内でユーザーの認証を実行する必要があります。これは、ユーザーベース全体を何らかの形でブラウザのメモリにロードする必要があることを意味します。おそらくjavascriptでロードされるため、安全ではありません。

サーバーが最小限で関与する単純な認証メカニズムについては、基本認証を参照してください。

于 2012-08-09T18:54:35.783 に答える
1

最も簡単なのは、おそらくサーバー側のapache認証です。そのために次の2つのジェネレーターを使用します: http ://www.htaccesstools.com/htaccess-authentication/
http://www.htaccesstools.com/htpasswd-generator/

クライアント側では、javascriptを使用すると、十分に安全になることはありません。しかし、方法があります:

if( ​prompt('Enter password'​)​ == 'password' )
{
    // we are okay
}

else
{
    // password is wrong
}​

より堅牢な例については、ユーザー名を使用してhttp://jsfiddle.net/7mZYQ/2/を参照してください。

于 2012-08-09T19:00:14.043 に答える
0

いいえ、クライアント側では実行できません。少なくとも安全な方法ではありません。手がかり(パスワードや正しいパスワードが入力されたときに表示したいコンテンツなど)がユーザーに提供されるため、クライアント側(パスワード)の検証は非常に簡単にバイパスできます。

于 2012-08-09T18:54:42.037 に答える
0

「クライアントサイド」が何を意味するのかを考えると、それが不可能な理由がわかります。クライアント側では、すべての情報が処理され、すべてのデータがクライアントのマシンに保存されます。したがって、クライアント側でパスワードを完全にチェックするには、ユーザー名パスワードのリスト全体を、サイトがやり取りするすべてのコンピューターに保存する必要があります。

また、「クライアント側」はサーバー側よりも本質的に安全性が低いことにも注意してください。ですから、これができたとしても、それはおそらく悪い考えでしょう。


さて、そうは言っても、これがあなたがそれをすることができる方法です:

パスワードを考え出し(個々のパスワードではなくマスターパスワードを使用する必要があることに注意してください)、パスワードをハッシュし、ハッシュされたパスワードを変数などに格納します。安全ではないように聞こえるかもしれませんが、pwをハッシュしている場合は、パスワードを使用してパーソナライズされた電子メールを全員に送信でき、ハッキングが容易になることはありません。ハッシュは一方向の操作です。それをリバースエンジニアリングする方法はありません。ただし、保存されているパスワードを一定にするようにしてください。そうしないと、誰かがハッシュされたパスワードの値を、保存されているパスワードと一致するように直前に変更する可能性があります。cssルールを与えるDisplay:none;cssを使用してデータを非表示にします。次に、ユーザーにパスワードの入力を求めます。次に、そのパスワードを取得し、パスワードを作成したときと同じ暗号化を実行します。その値と保存した値が一致する場合は、ビンゴ。ただあなたを元に戻してdisplay:none;、あなたは行ってもいいです。

私はそれでも誰かがあなたをdisplay:none追い払うという問題を残していると思いますが。ページ上のデータも暗号化する必要があると思います。

于 2012-08-09T18:56:12.593 に答える