• ベストアンサー

JavaScriptでHPにパスワード(条件付)

覚えはじめでよく分かっていないのかも知れませんが、 CGIが使えないので何とかJavaScriptだけで パスワードを入力させて設定したページに飛ばしたいのです。 ボタンを押してパスワードを入力するところまでは出来ているのですが パスワードをチェックする部分で困ってしまって・・・ 条件は 1・ソースからパスワードがばれないようにしたい。 2・HTMLファイル名を直接パスワードにしない。 3・後から自由にパスワードを変更できるようにしたい。 4・パスワードが違う場合にエラーメッセージを出したい。 なんですが、何かいい方法は無いでしょうか。 出来れば外部ファイルを参照してパスワードをチェックする様な ものがいいんですが。そんな都合のいいことは出来ないですか? 詳しい方お力をお貸し下さい。

  • T-SIN
  • お礼率90% (10/11)

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

  • ベストアンサー
  • onchange
  • ベストアンサー率20% (5/24)
回答No.2

http://www.openspc2.org/reibun/javascript/ こちらのホームページの「外部JavaScriptファイルを読み込む」 と 「パスワードが正しい場合ページを表示する(入力文字を見せない)」 のサンプルを組み合わせたらうまいことできるんじゃないですかね。 がんばってください。

T-SIN
質問者

お礼

ありがとうございます。 色々解説されてるページですね。参考にしてがんばってみます。

その他の回答 (3)

  • HogePiyo
  • ベストアンサー率57% (24/42)
回答No.4

外部スクリプトにするとか。認証用のキー自体を暗号化して認証するときにだけ復号化するとか、いろいろ思いつきますが・・・。 やはり JavaScript でのパスワード認証はあまりお勧めできません。 JavaScript をかじったことのある人間ならソースを追跡することで簡単にクラックできてしまいますから。 他の方がおっしゃっているように CGI などを利用された方が JavaScript よりかはずっといいかと思います。

T-SIN
質問者

お礼

ありがとうございます。 だいたい皆さん意見は同じようですね。JavaScriptだけではやはり限界があるということが分かりました。それだけでも勉強になったと思います。 一度外部スクリプトをどうでもいいページで試してみます。重要な情報を表示するページに使うつもりは無いんで問題が無いようならそのまま使います。 回答してくれた皆さんありがとうございました。

  • onimotsu
  • ベストアンサー率36% (279/758)
回答No.3

外部ファイルにしても見ようと思えば見れちゃいます。 やはりCGIを使うべきだと思います。 又はプロバイダでアクセス制御を提供していないでしょうか。 下記を参考に。

参考URL:
http://script.lovely.to/
T-SIN
質問者

お礼

ありがとうございます。 見えちゃいますか・・・そうですか・・・ プロバイダにはカウンターぐらいしか用意されてないんですよ。 レンタルも考えてみます。

  • mld_sakura
  • ベストアンサー率20% (264/1282)
回答No.1

Javascriptファイルを外部に持って、そこにパスワードとパスワードチェックを持てばいいのでは? ただし、パスワードを認証後のページにブックマークされるので、あまり意味がありません。 Apache側でかけられればいいですが、初心者の方ですよね? しかもJavaScriptのみですよね? 完璧なものは無理じゃないですかね・・・。 フリーのCGIがあるので、それを活用してみてはどうでしょうか? JavaScriptにこだわる必要はないと思います。

T-SIN
質問者

お礼

ご回答ありがとうございます。 フリーのものも考えたのですが、自分で作ったほうが後々融通が効くかと 思いまして・・・ 外部ファイルを自分で書き換えるだけでパスワードが変更できれば、借りたところへ行ってパスワードやIDを入れて変更するより簡単な気がしたんです。 完璧は求めていませんので”Javascriptファイルを外部へ”というのを試してみます。 ありがとうございました。

関連するQ&A

  • HPにパスワードをかけたい

    こんにちは HPを作りました(Yahoo!)それで、あるページにパスワードをかけたいと思っています。過去の質問を見るとCGIがどうのこうの・・・・ 私のページに来る人はみんなパソコン初心者の方々ですのでHTMLのソースを見る人なんていないので、ソースを見て分かっちゃうようなものでいいので簡単にパスワードを書けるタグを教えて下さい。 よろしくお願いします。

  • JavaScriptのアクセス解析が動きません

    当方perlの知識はないので困っております。 あるオープンソースのcgiを使っているのですが cgiファイルが呼び出すhtmlファイルにJavaScriptで記述された アクセス解析の記述をしたのですが、うまくいきません。 アドレスを見ると×××.cgiのままとなっており、表示するhtmlの中に JavaScriptの記述を埋め込んでいるという形になります。 <script type="text/javascript"> document.write("<img src=http://・・・/index.cgi?page=XXXX&r=" + document.referrer + ">"); </script> 最初に表示されるときはlogへの書き込みがなされないのですが 更新ボタンを押すと書き込みがされます。 この記述をヘッダーの中に入れたり、外部で呼び出したりいろいろやりましたがすべて同じような挙動になります。 cgiファイルの中身の最後の方はこうなっております。 my $tmpl = HTML::Template->new( die_on_bad_params => 0, filename => './html/' . $page ); # HTMLテンプレートにデータベースから読み込んだ情報を設定 $tmpl->param( dlid => $dlid, sid => $sid, message => "$message" ); #HTMLの表示 print "Content-Type: text/html\n\n"; print $tmpl->output(); この部分をいじってもダメでしょうか? また、何か対策はないでしょうか。 よろしくお願いいたします。

  • javascriptでパスワードを保護する方法

    blogではperl/cgiが使えない関係で、javascriptでパスワードを掛けることを考えています。 *.htmlに(方法1)の関数を書くとソースで丸見えになります。関数を*.jsで分離しても、*.jsの所在が判るのでダウンロードされたら終わりです。(frameを使ってソースを見え難くする事はできますが.....) (方法2)のファイル名をパスワードにする(方法2)は、(方法1)よりましですが不恰好です。(直接アクセスは防げませんがファイル名が無限設定できるのでPWDを知られるのと同じsecurity level) もっと他にsecurity levvelの高いパスワード保護法は無いでしょう? よろしくお願いします。 (方法1) function GetP(s) { if (s=="hoge") { location.href = "http://***/XXX.html" } else { alert("入力された暗証番号"+s+"は間違いです!!") } } (方法2) function getPassword(subdir, ext) { pw = prompt("パスワードを入力してください:","") if(pw) { location =subdir + pw + "." + ext } else { alert("パスワードが入力されていません") } }

  • 外部JavaScriptがうまく呼び出せません

    お世話になっております。 お分かりになります方いらっしゃいましたら、 ご教授願えますでしょうか? 人材を募集する応募フォームを作っています。 応募フォームの項目にはいくつか必須項目があり、 送信ボタンを押した際、必須チェックをJavaScriptで 行いたいと思っています。 チェックする項目が多数あるので、直接htmlファイルには書き込まず、 外部jsに書き出して、htmlファイル上で呼び出す方法をとる事にしました。 htmlに直接書き込んだ際にはうまく動いたので、 JavaScriptの内容が悪いのではないと思うのですが、 送信ボタンを押しても、必須項目がチェックされず、 そのまま項目が空のメールが届いてしまいます。 以下に該当のコードを記入いたしますので、 原因がお分かりになります方、ご教授頂いてもよろしいでしょうか? ・外部js:oncheck.js ・cgi:send.cgi 【oncheck.js】 <!-- function check(){ ・ (必須項目のチェックを行っています) ・ } //--> 【htmlファイル】 <html> <head> <title>採用情報</title> <script language=JavaScript src="oncheck.js" type=text/javascript> </script> </head> <body> <h3>応募フォーム</h3> <form method="POST" action="send.cgi" name="応募フォーム" onSubmit="return check()"> ・ ・ ・ <input type="submit" value=" 送信 "> <input type="reset" value=" 取消 "> </form> </body> </html> 呼び出し方に問題があるのでしょうか? 宜しくお願い致します。

  • javascriptのPHP化について

    宜しくお願い致します。 javascriptの外部ファイルをPHP化して、サーバサイドで動的に生成した内容を吐き出し、それをHTML側でjavascriptの外部ファイルとして受け取って処理しております。 この場合のブラウザがアクセスした際に処理される順番は・・・ (1)HTMLの読み込み開始 (2)header内のjavascript外部ファイルの読み込みと実行 (3)HTMLファイルのbody以下を読み込み (4)結果をブラウザに返して表示 という流れになるはずです。 この場合、(2)のjavascript外部ファイルの方がbodyより先に実行されるはずです。 しかし、javascript外部ファイル内のPHPでセッションデータを扱っている場合、(3)のbody内でPHPでセッションを定義した内容が、なぜか(2)のjavascript外部ファイルで反映されて実行されるのです。 私のイメージでは・・・ (1)HTMLの読み込み開始 (2)header内のjavascript外部ファイルの読み込みと実行  ※この時セッションは反映しない (3)HTMLファイルのbody以下を読み込み  ※この時にセッションを入れても(2)が既に実行さられているので反映しない (4)結果をブラウザに返して表示  ※結果、セッションにデータが入っておらず、php側でエラーを吐き出しjavascriptが止まる という様になるかと思ってましたが、なぜか実行されます。 javascriptはHTMLが全部読み込まれてから実行されるのでしょうか?

  • javascriptとJavaAppletの連携について

    javascriptとJavaAppletの連携について質問です。 あるHTMLに組み込んだJavaAppletの関数を同HTMLに組み込んだ外部javascriptファイルから実行したいのですが、このような事は可能でしょうか? HTMLに直接javascriptを記述した場合は document.Applet名.関数() とすると普通に呼び出せるのですが、外部jsファイルからこれと同様行おうとした時、どうもこのjsファイルからAppletが見えてないような気がします。実際、document.applets.lengthでNullと確認出来ます。 Javaであればオブジェクト参照の受け渡しなどで解決出来るでしょうが、javascriptではこれと同様の事が出来るのでしょうか? あるいは、この場合そのような事は必要なのでしょうか? なお、この外部スクリプトは同HTMLとは別階層にある100程度のファイル群です。 Javaの経験はある程度あるのですが、javascriptは普段あまり利用しないので、ひょっとしたら初歩的な事を勘違いしているのかもしれません。 どうかご教示よろしくお願いします。

    • ベストアンサー
    • Java
  • HTML上(javascript)からCGIを実行する方法

    javascriptから外部実行ファイル(javascriptファイルではなくperlなどのCGI) を実行する方法を探しています。 下記のようにindex.htmとtest.cgiファイルを用意して、index.htm内の javascriptから外部cgiを実行させ、cgiの結果(test.cgiでは単に 『test』と表示するのみ)を表示したいと考えています。 利用増ですが、cgiやssiが使用できないサーバにindex.htmを置いて、 cgiが使用できるサーバ上のcgi結果を取得したいものです。 通常のcgiのように、1ページでcgi結果を表示するものではなく、 HTMLファイルの一部にcgi処理結果を表示させたいものです。 そもそも、SSIを使用しなければ下記のようなHTML内にcgiなどの 実行結果を表示する事は出来ないのでしょうか。 よろしくお願い致します。 ※下例のプログラムではcgi結果は表示されませんでした・・・。 ---<index.htm>---------------------------------------- <HTML> <BODY> <SCRIPT language="Javascript" src="http://xxx.xxx.xxx.xxx/test.cgi"></SCRIPT> </BODY> </HTML> ---<test.cgi>---------------------------------------- #!/usr/bin/perl print "test"

  • javascriptの簡易パスワード認証について

    javascriptでのパスワード簡易認証で、 次のようなスクリプトをネットからコピペしてホームページに使用しようとしました。 <script type="text/javascript"> function gate(){ // ▼ユーザの入力を求める var UserInput = prompt("パスワードを入力して下さい:",""); // ▼入力内容をチェック if( /W+/g.test(UserInput) ) { // ▼半角英数字以外の文字が存在したらエラー alert("半角英数字のみを入力して下さい。"); } // ▼キャンセルをチェック else if( UserInput != null ) { // ▼入力内容からファイル名を生成して移動 location.href = UserInput + ".html"; } } </script> しかし、上記のようにすると、パスを入力後に生成されるダイアログはデザインが質素で、がっかりしています。 「ぱすワードを入力してください」のダイアログボックスのデザインを良くするには、上記のプログラムをどう修正すればよいでしょうか?  そして、このダイアログは何故か、画面上部に表示されてしまいます。画面中央に表示するには、上記のjavascriptをどうすればよいでしょうか? せめて、「javascrptで可能か否か」だけでも教えていただければ幸いです。

  • とても困ってます!!助けてください。JavaScript、同じファイル内に重ね重ね使うとエラー?

    JavaScriptで、困っています。 親ウインドウのgifのボタンをクリックすると、 子ウインドウが開く仕様のHTMLページを作っています。 このソースが同じHTMLファイル内(同じファイルのソース)に 一度きり、または複数回、出てきます。 すると、一度きりしか、ソースとして書いていない方については 子ウインドウが開くのですが、 複数回、同様のソースがあるファイルについては 子ウインドウを開く動作(gifのボタンをクリック)をすると ”サーバが見つかりません”というエラーの表示がされた 子ウインドウが開いてしまいます。 JavaScriptは重ね重ね使ってはだめなんでしょうか? あるいは、記述に問題があるんでしょうか? どう書いたらいいのでしょうか? 月曜納品なので、実はとっても焦っています。 どうか教えてください。よろしくお願いいたします。

  • Javascript

    Javascript HTMLもソフトも初心者でJavascriptの本は初めて見ています。 Javascriptの本を見ながら、書いてあるプログラムを入力をしてみているのですが、 一定の時間ごとに画像を入れ替えるというのや、 ある部分にポインタを合わせると別の画像に変わるというのがありました。 こういう画像を入れ替えるというのはHTMLとか、Dreamweaverやホームページビルダーなどのソフトでは出来ないものですか? もしJavascriptでなくてもできるのであれば、なにか利点や欠点はありますか? Javascript以外の言語(よく知らないのですがPHPやPerlやCGI)でも同じことはできますか? よろしくお願いします。

専門家に質問してみよう