IDとパスワードを知っている限り、誰でもどこからでも有料コンテンツにログインできるのかどうか、誰か教えてください。その場合、クライアントに根拠として示せるような、参考URLがあると嬉しいです。
http://tohoho.wakusei.ne.jp/wwwcook.htm
そのファイルは現在ありません
IDとパスワードのみですと、誰でもどこからでも有料コンテンツにログインできるという考えになりますので、その対策として「Cookie」を利用すると言う方法があります。
SONY銀行はこの方法は、通常利用しているPC以外から接続をした場合にログイン時に警告を発し、追加の暗証コードを要求してきます。
Cookie自体、ユーザーで消すことも可能なため、完全とはいえませんがひとつの方法としては有効かと思います。
ViVi Web site
(↑はダミーです)
IDとパスワードだけでは、おっしゃるようにどのPCからでもログインできます。
ネットワークアドレスなどのPC固有情報をにクッキーなどでPCに保存し、それをもとに認証するしかないと思います。
.htaccess で、ユーザーの認証のほかに
IPアドレスの制限をかけてはいかがでしょう?
相手が常にproxyを使っていれば、同じproxyを使っているPCの区別はつきませんが。。。
こっちは参考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が分かっちゃうと誰でも入れますね(^-^;
これは、上記のようなシステムではないから(システムが複雑になる)と説明するしかないかもしれません
http://httpd.apache.org/docs-2.0/mod/mod_access.html
mod_access - Apache HTTP Server
Web サーバ側で、特定の IP アドレスのみ、アクセス可能にすることが出来ます。
上記 URL は Web サーバが Apache の場合ですが、他の Web サーバでも、何らかの
形で、そういった制限は出来ると思います。
但し、固定の IP アドレスを持っていない場合には、アクセス元の IP アドレスが
変わってしまうので、この機能では適切に制限することが出来ません。
但し、ルータを経由してNATP(IP マスカレード)を使ってアクセスする場合には、
実際には複数の IP アドレスで1つの IP アドレスを共有することになり、厳密には
「1台の PC からのみ」とはなりません。Proxy を経由した接続の場合も同様です。
http://www.fc-lab.com/network/server/www/apache-ssl.html
Apache SSL Server
SSL のサーバであれば、ブラウザ側に SSL の証明書をインストールして、特定の認証局の
証明書を持つクライアントのみ、接続を許可する、ということが可能です。
これを使うと、プライベートな認証局を作って、その認証局で証明書を発行し、
Web サーバ側で、その認証局が発行した証明書のみを許可するようにすれば、
証明書をインストールした PC しかアクセスできない、という状況は作れます。
ただ、SSL にまつわる認証局、証明書といった事を理解してないと、現実には厳しい
と思います。
http://yougo.ascii24.com/gh/76/007639.html
ASCII24 - アスキー デジタル用語辞典 - MACアドレス
クライアントに何処までの知識があるのかが問題かも。
一応そういうものを構築することは不可能じゃない。
今までも散々出てきてはいるけれど、MACアドレスなどを利用して接続を制御する方法とか。
この場合、IDとパスを利用してログインするシステムではなく、
専用のアプリを開発する必要があって、それを利用することでログインするような形を
取るしかないって説得するしかないと思うんですけどねえ。
ちなみに、ちょっと考えてみたんですが、
まずMACアドレスを取得して、
それをIDとパスとその日の日付とかの変動する要因からURLを生成して、
そのURLにアクセスすればアクセスできる、とかいうシステムを作成すれば
なんとかなりそうな気がします。
そのURLはもちろん暗号化する。
そのURLだけを記録しても、次の日には別のMACアドレスのマシンではログインできないようにする。
まぁ、開発しなきゃいかんのですが。
その辺吹っかけたらどうですか?
そもそも一般的なシステムじゃないことを明確に示せば(他の人が一応示してますよね)、なんとかなりそうではあるような。
皆様、色々とありがとうございました。
もともと作ったプログラムはcookieを利用しているので、.htaccessでアクセスを許可するホストを指定するまではできるのですが、同一ホストからのアクセスを判別するのは、結構コストがかかりそうですね。
クライアントは、WEBサイトをインターネット上で見れるようにするには、ドメインを取る必要がある、ということも知らなかったので、どういう風に説明すればいいか、困ってました。
どうも、ありがとうございました。
IPアドレスの制限、といっても有料会員が大勢いる場合、どうすれば?