• ベストアンサー

コンテンツを守りたい

かならず、 ID、パスワード認証ページで認証されてから、 会員ページとコンテンツを表示させたいのですが、 今回作成したサイトですと、 会員用FLASHコンテンツの URL を覚えておけば、 会員以外の人でもFLASHコンテンツが見れてしまいます。 どう対策すればいいのですか? 宜しくお願いいたします。

  • PHP
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.3

>下記の方法はどうすればいいのですか? サイト全体の管理方法とかサーバ仕様だとかでやり方は変わってくるとおもいます。 例えばサイト全体をBASIC認証で保護しておく。 PHPからBASIC認証の情報(IDとかパスワードとか)は扱えるので、認証情報を取得したいときはそれで使える。 他の方法としては、FLASHのファイルをおいてあるディレクトリに例えばapacheであれば、.htaccessなどでリファラーを見て自分のところのURLになっていなければはじく。 他にもブラウザからはアクセスできない場所にFLASHファイルを置いておき、FLASHファイルへのアドレスを書くところ(htmlで画像を表示させる場合にimgタグのsrc属性に記述するような部分)にはphpファイルとパラメータとしてファイル番号などを指定する。 例としてimgタグでいえば、 <img src="./viewer.php?file=123456"> ブラウザから直接アクセスできないところとしては、例えばpublic_html以下しか見えないのであれば、public_htmlと同じ階層に専用のディレクトリを作る。 phpファイルでは、認証済みかチェックして、認証済みでなければエラーを返し、認証済みであればファイル(ファイル名ではなく、ファイルデータ)を返すようにする。 まぁ前回答の認証のやり方も今回のやり方も、方法の一つに過ぎず、いろいろと方法はあるので調べてみることをお勧めしますが。

tamaog
質問者

お礼

ありがとうございます。 知りたい情報、ご丁寧な解説ありがとうございました。 お陰さまでばっちり実現できました。 本当にありがとうございました。

その他の回答 (3)

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.4

がると申します。 んっと…「どれくらいの強度で」守りたいのか、言い方を変えると「どれくらいの労力が割けるのか」という話になるのですが。 BASIC認証は非常に簡単ですが、あれは認証とは呼べないほどにお粗末なモノなので。「認証しているっぽく見せかけたい」を超える用途には不向きです。 PHPが標準で提供しているsession関数群は非常に脆弱でアタックがしやすいので、ある程度以上の強度を求めるのであれば、やはり不向きです(メモリリークもしますしねぇ)。 このあたりは「要求強度とかけることができる費用とのバランス」できまります。 基本的には「きちんとプロに相談」がよろしいかと。 もし個人コンテンツなら…まぁ、BASIC認証とか、PHPのsession関数でよろしいのではないかと思います。

tamaog
質問者

お礼

ありがとうございました。今回は自分で解決したのですが、いちど専門家にきいてみます。ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

basic認証やsql認証をセキュアで管理すればよい のでは? フラッシュだろうが画像だろうが、基本的には authの対象になるでしょう

tamaog
質問者

お礼

今回は、サイト内の他のページからも呼び出すので、毎回認証画面が出るのは困るので、画像レスポンスを返すPHP ページをつくり、そのページで認証し、認証OKならイメージレスポンスを返し、HTML の IMG SRC タグに指定する方法でおこないました。私の足りない説明なか、アドバイス本当にありがとうございました。

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

PHPカテゴリでの質問なので、PHPでかかれているという前提で。 (方法としては別の言語でもいいです) セッションを利用するなどして認証済みかどうかをすべてのページでチェックする。 各ページの先頭で以下のような処理をする。 ・セッションを開始 ・セッションに認証済みかどうかを判定するフラグ(変数)を用意しておき、それが認証済みになっていたらページを表示、認証済みでなければ、そのページのURL(元URL)をセッション変数に保存し、ログインページにリダイレクトする。 ログインページでは、IDとパスワードを入力させ、送信させる。 送信されたIDとパスワードをチェックして、問題なければセッション変数に認証済みフラグを立てる。 元URLがセットされていれば、そのページへリダイレクトし、されていなければデフォルトのログイン後に表示させるページにリダイレクト(または普通に表示)させる。 同時に、フラッシュファイル自体に直接リンクされると認証に関係なくみれてしまうので、フラッシュファイル自体に直接リンクできないようにする仕組みも必要かとおもいます

tamaog
質問者

お礼

ありがとうございます。 知りたい情報、ご丁寧な解説ありがとうございました。 お陰さまでばっちり実現できました。 本当にありがとうございました。

tamaog
質問者

補足

ありがとうございます。 下記の方法はどうすればいいのですか? リファラーなどで跳ねるしかないのでしょうか? 重ね重ね、よろしくお願いいたします。 >同時に、フラッシュファイル自体に直接リンクされると認証に関係なくみれてしまうので、フラッシュファイル自体に直接リンクできないようにする仕組みも必要かとおもいます

関連するQ&A

  • フルFLASHでコンテンツの切り替え

    こんにちは。 flash初心者で、勉強用のサイトをオールflashで作成しているところです。 今まで、HTMLの中に小さなflashムービーを貼り付けたサイトなどは作ったことがあるのですが、オールflashでのサイト作りを勉強していて疑問があります。 http://townwork.net/h/contents/joboob/index.html 上記のサイトのように、コンテンツがきりかわってもURLが同じものは「サイト全体が1つのswfで作成されている」ということですよね? それでは、http://www.jillstuart-beauty.com 上記のサイトのようにそれぞれのコンテンツに個別のURLがあるものはどのように作成しているのでしょうか?各ページのソースを見ても、全く同じ記述になっており、それぞれに別のswfが貼り付けられているわけではないということまではわかったのですが、その仕組みがわかりません。 コンテンツ間の移動にも再度ページが読み込まれることなくムービーが動いています。これはどうやっているのでしょうか? 教えてください。お願いいたします。

  • 携帯サイトでの、URL直打アクセス拒否について

    携帯サイトを作成しているのですが、セッションを用いた 会員ごとのページで、URL直打でアクセスされた場合は loginページにリダイレクトする等を行った方がよいのでしょうか? またその場合の対処方法について教えてください。 なにをもって判断するか。hiddenでname=login value=true等してもうまくいきません。 session.gc_maxlifetime 1440 なので、24分後には、直打アクセスはできなくなるのでしょうか? login.php 認証にはPear Authを利用。 $idは各会員ごとの固有のIDです。これで、会員ごとのページを表示します。 if ($authobj->getAuth()){ header("Location: contents.php?id=$id".SID); }else{ print("認証されていません"); } ↓例えばこのようにURL直打ちでアクセスされた場合では、 現状、ログイン後の画面が表示されてしまいます。 http://www.×××.com/contents.php?id=12345&PHPSESSID=8sdfasfadfasdfdsfddfasd

    • ベストアンサー
    • PHP
  • ホームページ作成(アクティブコンテンツ)について

    当方、あまり専門的な知識はありません。しかし、一応ホームページを自分で作っております。とは言っても、ほとんど他の人が作って無料公開しているHTMLデータ等のコピー&ペーストで作成しております。 最近、アクティブコンテンツも含んだホームページに改良しようと思い、試しに作成してみました。ところが、その作成したページを見ようとすると「セキュリティ保護のため、コンピュータにアクセスできるアクティブコンテンツは表示されないよう、internet exploreで制限されています」との表示がパソコンディスプレイ上部に出、ストップします。 当該表示をクリックすれば、アクティブコンテンツ(今やっているのは、ジャバスクリプト)が動くのはわかります。ですが、もともとの知り合い以外の人は、その様なページをクリックせずに、敬遠するのでは無いかと思います。 ところが、いろんな他の人のホームページを見ていると、JAVAやFLASHを使っていても「セキュリティ保護のため・・・・」と言った表示が出ないページもあります。 そこで、(1)上記のような表示を出させない方法があるのか(2)なぜ、表示されるページと表示されないページがあるのかと言う点を教えていただきたいです。 なにぶん、無知なものであまり専門用語はわかりません。 よろしくお願いします。

  • サイトでログイン後の、コンテンツを一括ダウンロードしたい!

    初めまして。 タイトル通りなんですが、 IDとパスワードでログインするような、会員制のサイトがありますよね?そのサイトで、ログインした後のコンテンツを一括ダウンロードできるようなフリーソフトとかはないでしょうか?フリーソフトでなくても、これならできる!というやり方があればなぁ、と思います。 もちろんID/パスワードは、正式に登録したものです。 よろしくお願いします。

  • サイト内に会員用コンテンツ

    現在運営しているサイト内に、会員だけがアクセス出来るコンテンツを作りたいんです。 パスワードにすればいいと言うことはわかるのですが、サイトを公開すると、いつか検索ロボットに拾われますよね。 検索避けタグと言うのはかなり良い方法だと思うのですが、それにプラスする何かいい手段はありませんか? 会員以外に見られるようだと、会員登録の意味がないので、教えてください。

  • flash +αでパスワード認証する場合のセキュリティは低?

    こんばんわ!恐れ入りますが、以下のflashコンテンツで セキュリティがある程度守られてるか、見て頂けないでしょうか? よろしくお願いしますm(_ _)m flash,php,mySQLを知っていますが、認証については殆ど知識がありません。 凄腕のハッカーを除いて、そこそこPCの使い方に慣れてる方では突破できない程度で保護したいと思ってます。 コンテンツは デスクトップで動く.exe(flashプロジェクタ)を作っています。  内容は、ストリーミングmp3プレイヤーです。   ・会員のみが視聴可能なmp3プレイヤー   ・mp3は自社wwwサーバーにてライブ配信している音声を読み込む。    wwwサーバーは仕様上、パスワードを設定できない(URLが分かる   とアクセスできてしまう)   ★構築で特に気を使いたい点は、    (1)mp3があるwwwサーバーのURLを管理者以外からは     分からなくしたい    (2)mp3が聞けるのは会員のみ(認証が必要) おしえてgooでflashの情報セキュリティを調べましたが、ActionScriptだけでは簡単に解析されてしまう様なので、 <認証> Flash.exe  →  php →  mySQL(wwwサーバーのURL,会員パス 格納) パスワード入力  SQL接続   データ引き出し <認証後> mySQL →     php      →  Flash.exe wwwサーバURL送信  結果をflashに    取得したURLを元に                    wwwサーバにmp3をリクエスト,再生 と構築しようと思います。これではActionScriptのみと同様、簡単に突破できてしまうんでしょうか?

  • コンテンツ アドバイザ

    ネットのページを開こうとすると「コンテンツアドバイザにより、このサイトを表示できません」というメッセージがでてしまい、いちいちスーパバイザ パスワードというのを入力しないとページを開けなくなってしまいました。修正する方法を教えてください><

  • アクセス制限ページの作成について

    アクセス制限ページの作成を考えています。 よく見かけるものでホームページ上にIDとパスワードを入力する箇所があり、そこからログインした後にIDごとにそれぞれのページがあるといったような会員サイトはどのようにして出来ているのでしょうか? CGIだと直リンクされると見れてしまったりBASIC認証だと一つのログイン画面からIDごとにページを割り振れないしと。。。。 初心者ですので教えて頂ければありがたいです。

  • ホームページについて

    質問です。認証パスワードとIDでログイン後の画面をブックマークした場合、認証パスワードやIDを登録しなくても入れてしまうのではないですか?それを防ぐにはどうしたらいいですか?もう1つ、同じコンテンツを含んだ海外のサイト(英語)と日本のサイト(日本)を二つURLで持つことは出来ますか?そういうレンタルサーバ業者はありますか?よろしくお願い致します。

    • 締切済み
    • CGI
  • コンテンツアドバイザ

    コンテンツ アドバイザを無効にしても、パソコンを起動しなおすと設定が戻って(有効になって)しまいます。プロパティで無効にしても(パスワードも通ります)、設定を記憶していないかのように戻ってしまっています。 起動するたびに設定を無効にする必要があり(有効のままだとあらゆるページでパスワードを求められ)、 困っています。 まずブラウザを立ち上げると、「コンテンツアドバイザにより、このサイトの表示は規制されています。このページには、次のものが含まれている可能性があります。(四角内)このページには規制がありません。」というような内容の、エラーメッセージではなく、パスワードを求められるウインドウが開きます。 ここで、正しくパスワードを入力し、さらに「このwebサイトがいつも表示されるようにする」を選んでいても、次にブラウザを起動したときには同じウインドウが開きます。さらに、プロパティ(オプション)から「コンテンツアドバイザを無効にする」設定にしても、ブラウザを立ち上げなおすと有効の状態です。(パスワードを入れた後、ダイアログを表示しない設定にしても、その設定が有効になっていません) エラーメッセージは出ないのですが、設定した内容がすべて記憶されずに戻っているような状態です。 ただ気になるのはadministrators権限があると通常通り何の問題もないことです。 OSはWIN2000です。