• ベストアンサー

Flash MX(Adobe Flash)に詳しい方見てください♪

こんにちは( 。・・)ゞ HPに入室するのにユーザー名とPWをりようしようと考えています。 そこで!Flashを利用してユーザー名とPWを要求しようと考えました。 Javascriptでは簡単すぎるし…。CGIではちょっと難しい…。 こちら側で決めたユーザー名とPWを入力し、入室ボタンを押す事によってリンクへ飛ぶことのできるFlashを作りたいと考えています。 本当にFlashに対してはど…素人です。 参考になるサイトや皆さんの意見をお待ちしています゜'・:*☆゜'・:*☆ よろしくお願いします(*・_・)

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

> こちら側で決めたユーザー名とPWを入力  ~~~~~~~~~~~~~~~~~ ということを条件として, 「ロー セキュリティー」で,なおかつ, 簡易的な 「入口の鍵的なFlash」 だけでしたら簡単に作れますよ。  「テキストフィールドに入力されたものが,  こちらが用意していた物と同じであれば,  目的のURLにジャンプさせる。」 ということをすれば良いだけですから, クイズの答えが正解か正解でないかを判断させれば良いようなものです。 クイズゲームFlashの超簡単版と思えば良いですね。 ================== Flash外に用意するもの  リンク先のページ(仮に himitsu123.html ) Flash内に用意するもの  テキスト入力のテキストフィールド2つ  ボタンシンボルのインスタンス1つ ================== 任意のフォルダに, 「himitsu123.html」を用意します。 内容は何でも良いですが,仮に次のようなものにしておきますか。 単なる例です↓。 ----------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>himitsu123</title> </head> <body> <p>秘密のページです。</p> </body> </html> ----------------------------- Flashの作成ですが, 新規でドキュメントを作成して, 上の「himitsu123.html」のあるフォルダに任意の名前で保存します。 そしてステージ上に, 「テキストの周囲にボーダーを表示」の設定をした「テキスト入力」のテキストフィールドを用意します。 そしてインスタンス名(変数名ではありません)に「user」という名前を付けておきます。 そしてもう1つ,ステージ上に, 「テキストの周囲にボーダーを表示」の設定をした「テキスト入力」のテキストフィールドを用意しますが, こちらはパスワードらしくするために, プロパティインスペクタ(プロパティパネル)の真ん中あたりにある,  [単一行   v] のようになっている部分を  「パスワード v」 のように設定しておきます。 そしてインスタンス名に「pass」という名前を付けておきます。 さらにステージ上にボタン(ボタンシンボルのインスタンス)を用意します。 そして,そのボタンに次のように書きます(コピペ可能)。 ----------------------------------------- on (release) { if (user.text+","+pass.text == "abc,xyz999") { getURL("himitsu123.html"); } else { user.text = "間違っています"; pass.text = ""; } } ----------------------------------------- そしてパブリッシュしてもらうと完成です。 上の例はユーザー名を「abc」, パスワードを「xyz999」と入力すると, 「himitsu123.html」にジャンプします。 仮にユーザー名を「oshiete」 パスワードを「9876」にしたければ, if文の()内を if (user.text+","+pass.text == "oshiete,9876") のように変更すればこちら側では何でも変更可能です。 しかし,Flashの SWFファイル は, 元からセキュリティの面で情けないくらいヤワです。 というか, そういう SWF のセキュリティは旧マクロメディア(現アドビ)も全く考えていません。 SWF をオープンソース化することで,逆に普及を狙っています。 「FLASHのソース」 http://oshiete1.goo.ne.jp/qa1832143.html   ↑教えて!goo  ↓OKWave (同じです) http://okwave.jp/qa1832143.html 次のURLはその続編のようなものです。 「swfファイルは解体されないのでしょうか?」 http://oshiete1.goo.ne.jp/qa2103849.html   ↑教えて!goo  ↓OKWave (同じです) http://okwave.jp/qa2103849.html さらに駄目押しです。 「Flash8で作成されたSWFファイルの編集」 http://oshiete1.goo.ne.jp/qa2908868.html   ↑教えて!goo  ↓OKWave (同じです) http://okwave.jp/qa2908868.html というわけで, いっくらでも SWF の中身は見えるので, 見る人が見れば,パスワードが何なのかはすぐにわかってしまいます。 ですから,上でスクリプトなどを回答した物は, あくまでも簡易的な 「気休め程度の入口だけの鍵」 だと思ってください。 次のページにも上の物と同じ原理を利用した物がありますが, これも簡易的なものに過ぎません↓。 「フラッシュサンプル - ナビゲーション系」 http://www.condo.fromc.jp/flash/memo/index.html > ■簡易パスワードチェック (2004/5/15) > テキスト入力で簡易的にパスワードのチェックをします。 「エロオヤジのエロい妄想日記」 とか, 「自慢の自分のヌード写真」 とかいうような, 自分が見られたら自分だけがハズカシいかもしれないけど, 他人にはどうでも良いものの陳列サイトの入口程度に使うのでしたら特に問題はないとは思いますが, 顧客名簿とか絶対にバレてはならない情報などを開示するスペースの入口には使えません。 ///////////////////////////////////////////////// 上のように,JavaScript でも Flash でも, パスワードをファイル内で判定させるようにすると, そのパスワードがバレてしまうわけですから, 最初からパスワード判定をしないような SWF にするとセキュリティはアップします。 その1つの方法として考えられるのは, ファイル名自体を「ユーザー名+パスワード」にする方法です。 この回答の最初に書いたもののボタンのスクリプトを, もっとシンプルに,次のように変えます。 ----------------------------------------- on (release) { getURL(user.text+pass.text+".html"); } ----------------------------------------- そしてパブリッシュしてもらうと完成です。 ユーザー名に「himitsu」, パスワードに「123」を入力してボタンをクリックすると, 「himitsu123.html」にジャンプします。 その他だと,「このページを表示できません。」などにジャンプしてしまうと思います。 ユーザー名とパスワードがファイル名ですから, ユーザー名とパスワードを変えたい場合は,ファイル名を変えることになります。 「himitsu123.html」などというファイル名ではなく, もっと複雑な絶対に見つけられないようなファイル名にする必要があるとは思います。 見苦しいですが,SWFのセキュリティから考えればこちらの方が上です。 2例を書きましたが, どっちにしても Flash だけでは「気休めの入口の鍵」程度にしかなりませんよ。 Flash を通さずに直アクセスされたら終わりですから, もっと厳重にするのなら,#1の方の書かれていらっしゃるように, CGI や .htaccess のようなサーバと連動するものでないと, ちゃんとしたセキュリティはできません。

その他の回答 (1)

回答No.1

なぜFlashを使いたいのか分かりませんがFlashを使ったとしても多分CGIとの連動になります。 Flash単体にパスワードを付けるような機能はありませんし出来ません。 そもそもFlashはクライアントで動くものですからCGIやhtaccessのようなサーバと連動するものでない限り不可能です。 ウェブサイトそのものはFlashで作れば良いと思いますが、入室制限はhtaccess使うのが無難かと思います。

関連するQ&A

専門家に質問してみよう