クライアントから、有料会員用のコンテンツを作るように依頼されて、IDとパスワードでログインするコンテンツをプログラムと一緒に作ったのですが、このIDとパスワードを1台のPCだけで利用可能なように、つまりユーザー専用のPC以外では利用できないように、と言われました。IDとパスワードはその人以外に知っている人がいれば、誰でもログインできるし、その人自身が、例えば会社のPCと自宅のPCと、どちらでも利用できると思うのですが・・・。

IDとパスワードを知っている限り、誰でもどこからでも有料コンテンツにログインできるのかどうか、誰か教えてください。その場合、クライアントに根拠として示せるような、参考URLがあると嬉しいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:ponta_3rd No.1

回答回数196ベストアンサー獲得回数0

ポイント15pt

http://tohoho.wakusei.ne.jp/wwwcook.htm

そのファイルは現在ありません

IDとパスワードのみですと、誰でもどこからでも有料コンテンツにログインできるという考えになりますので、その対策として「Cookie」を利用すると言う方法があります。

SONY銀行はこの方法は、通常利用しているPC以外から接続をした場合にログイン時に警告を発し、追加の暗証コードを要求してきます。

Cookie自体、ユーザーで消すことも可能なため、完全とはいえませんがひとつの方法としては有効かと思います。

id:vivisuke3141592 No.2

回答回数33ベストアンサー獲得回数0

ポイント10pt

(↑はダミーです)

IDとパスワードだけでは、おっしゃるようにどのPCからでもログインできます。

ネットワークアドレスなどのPC固有情報をにクッキーなどでPCに保存し、それをもとに認証するしかないと思います。

id:paxil No.3

回答回数375ベストアンサー獲得回数2

ポイント15pt

.htaccess で、ユーザーの認証のほかに

IPアドレスの制限をかけてはいかがでしょう?

相手が常にproxyを使っていれば、同じproxyを使っているPCの区別はつきませんが。。。

id:ubukawa

IPアドレスの制限、といっても有料会員が大勢いる場合、どうすれば?

2004/07/07 15:54:08
id:aki73ix No.4

回答回数5224ベストアンサー獲得回数27

ポイント20pt

こっちは参考URL

IDとパスワードさらに、特定のPCだけで利用できないようにすることは、ある程度は可能です

どうするかと言うと、

1.最初のログインでPHPやCGIでUserAgentとREMOTE_HOST名を取得してデータベースに登録

、UserAgentが違う場合とREMOTE_HOST名のドメイン名が異なる場合ははじくようにする

(つまり、OSをバージョンアップするとアクセスできなくなるので、その時はメール確認などで初期化してもらう)

2.ログインのたびに、内部でセッションIDを使う。前回ログインのセッションIDをCookieやメール配信で記憶しておきそのパソコン以外でログインしてもブロックする方法。(この場合も、OSを再インストールするとアクセス不能になるので、その時々でメールなどで初期化してもらう)

3.専用ソフトで、MACアドレスを登録、ログイン時にMACアドレスを送出するような認証方法を使う。MACアドレスはそのパソコン(というかLANカード)固有なので別の場所から入っても一致することはありません。

と言うシステムを、わたしは作ったことがあります。(^-^;

勿論、ここでも述べられてるとおり、通常の htaccessでは、パスワードとIDが分かっちゃうと誰でも入れますね(^-^;

これは、上記のようなシステムではないから(システムが複雑になる)と説明するしかないかもしれません

id:JULY No.5

回答回数966ベストアンサー獲得回数247

ポイント20pt

Web サーバ側で、特定の IP アドレスのみ、アクセス可能にすることが出来ます。

上記 URL は Web サーバが Apache の場合ですが、他の Web サーバでも、何らかの

形で、そういった制限は出来ると思います。

但し、固定の IP アドレスを持っていない場合には、アクセス元の IP アドレスが

変わってしまうので、この機能では適切に制限することが出来ません。

但し、ルータを経由してNATP(IP マスカレード)を使ってアクセスする場合には、

実際には複数の IP アドレスで1つの IP アドレスを共有することになり、厳密には

「1台の PC からのみ」とはなりません。Proxy を経由した接続の場合も同様です。

SSL のサーバであれば、ブラウザ側に SSL の証明書をインストールして、特定の認証局の

証明書を持つクライアントのみ、接続を許可する、ということが可能です。

これを使うと、プライベートな認証局を作って、その認証局で証明書を発行し、

Web サーバ側で、その認証局が発行した証明書のみを許可するようにすれば、

証明書をインストールした PC しかアクセスできない、という状況は作れます。

ただ、SSL にまつわる認証局、証明書といった事を理解してないと、現実には厳しい

と思います。

id:ex_hmmt No.6

回答回数56ベストアンサー獲得回数0

ポイント20pt

http://yougo.ascii24.com/gh/76/007639.html

ASCII24 - アスキー デジタル用語辞典 - MACアドレス

クライアントに何処までの知識があるのかが問題かも。

一応そういうものを構築することは不可能じゃない。

今までも散々出てきてはいるけれど、MACアドレスなどを利用して接続を制御する方法とか。

この場合、IDとパスを利用してログインするシステムではなく、

専用のアプリを開発する必要があって、それを利用することでログインするような形を

取るしかないって説得するしかないと思うんですけどねえ。

ちなみに、ちょっと考えてみたんですが、

まずMACアドレスを取得して、

それをIDとパスとその日の日付とかの変動する要因からURLを生成して、

そのURLにアクセスすればアクセスできる、とかいうシステムを作成すれば

なんとかなりそうな気がします。

そのURLはもちろん暗号化する。

そのURLだけを記録しても、次の日には別のMACアドレスのマシンではログインできないようにする。

まぁ、開発しなきゃいかんのですが。

その辺吹っかけたらどうですか?

そもそも一般的なシステムじゃないことを明確に示せば(他の人が一応示してますよね)、なんとかなりそうではあるような。

id:ubukawa

皆様、色々とありがとうございました。

もともと作ったプログラムはcookieを利用しているので、.htaccessでアクセスを許可するホストを指定するまではできるのですが、同一ホストからのアクセスを判別するのは、結構コストがかかりそうですね。

クライアントは、WEBサイトをインターネット上で見れるようにするには、ドメインを取る必要がある、ということも知らなかったので、どういう風に説明すればいいか、困ってました。

どうも、ありがとうございました。

2004/07/07 19:14:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません