- ベストアンサー
JavaScript でのページ閲覧制限
JavaScript で簡単なページ閲覧制限をかけたいのですが、 パスワードなどで制限されたパージを開こうとしたときに (リンク、または直ウチでページを開こうとするタイミング) パスワードを求めてきて正しい場合のみページに入れるようなことは できないでしょうか? パスワードの入力ページがあって入力後ページに飛ぶというのは色々あるようなのですが 制限ページそのものにできないでしょうか よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
http://beauty.geocities.jp/nishihama985/JS-PASS-PAGE/test-pass-page.txt 本体 http://beauty.geocities.jp/nishihama985/JS-PASS-PAGE/mydata.txt IDとページ 日本語がある場合は文字化けになるので UTF-8 に文字コードを統一しておいてください 必須なのは 本体 と IDの一覧 です 一覧は タブ区切りテキスト です ソースを見てもらえば内容は分かりますが より詳しい説明や使い方が必要な場合はお手数ですが下記へお願いします nishihama985 http://chiebukuro.yahoo.co.jp/
その他の回答 (3)
- kawai985
- ベストアンサー率68% (17/25)
http://beauty.geocities.jp/nishihama985/JS-PASS-PAGE/test-pass-page.htm http://beauty.geocities.jp/nishihama985/JS-PASS-PAGE/mydata.txt ページに飛ばないように インラインフレームに表示するパターンと 別ページを読み込んで表示するパターンです パスワードは同じ IDはtest1,2,3 Submit1と2は動きが違います Submit後に リロードするとID入力画面に戻ります Submit後のページにはリンクできないので 直接ひらくことはできません http://www.red.oit-net.jp/tatsuya/java/cookie.htm Cookieなども利用するとより便利です あといくつか工夫すれば シロウトには分かりません
- utun01
- ベストアンサー率40% (110/270)
No.1さんも言われている様に、Javascriptのみで制限をかけてもあまり意味はありません。 ソース見られただけで中身見えちゃいますしね。 ちなみに、ソースを見えないようにすることは原理上不可能です。 firebugとか使われたら防ぎようがありません。 それでもJavascriptで制限をかけたいのであれば、 JavascriptでID、パスワード入力等作った上で Ajaxを使ってサーバのPHPを呼び出すとかでしょうか。 ただ、これだと実際に認証処理をするのはPHPなので Javascriptは見た目上でしか使っていません。 ※以下蛇足 No.1さんのご提案されている暗号化は面白い案ですね。 sha256とかでIDとpassをキーに暗号化するような感じでしょうか。 ユーザ毎に動的に暗号化ページを生成するとサーバ負荷が気になりますが それを気にする必要の無いページであれば、 ちょっと試してみるのもよさそうです。
お礼
早速のご回答ありがとうございます。 やはり難しいでしょうか。そんなに重要なページでないので 完璧でなくても良いのですが、ソースも見られたら見られたで良いのですが あまり意味がないかも知れませんが、簡単にできる方法はないでしょうか? すみませんがよろしくお願いいたします
- yambejp
- ベストアンサー率51% (3827/7415)
JavaScriptはしょせんクライアントPCのブラウザ上で稼働するプログラムなので ページの本文などのコンテンツはPCにダウンロードされています。 サーバーサイドで制限をかけないかぎりあまり有効な手段だとはいえません。 可逆性のある暗号化+複合化処理でやることもないことはないでしょうけど そこまでするならpdfかなにかにまとめてしまうとかの方がよっぽど 負担がすくないと思います。 (パスワード付きpdfはフリーのツールがありますので)
お礼
お返事ありがとうございました。 ただPDFではページ上ダメなので他の方法はないでしょうか? すみませんがよろしくお願いいたします。
お礼
ありがとうございます。すばらしい!インラインを使う手があったんですね。 こういう事を思いつく人、できる人はスゴイですね知識、アイディア ともに素晴らしいと思います。ありがとうございました。 で、設定のソースはどうなるのでしょうか? このページをコピーしてもダメですよね。まだ詳しくないので 良くわからないのですがすみません。 両方のものを知りたいのですが、 素人ですみません。 よろしくご教授願います。