• 締切済み

htaccessの認証をフォーム又はURLでしてしまいたい。

こんにちわ。 Linuxをベースとしたサーバーでウェブサイトを開いています。 閲覧できる人を制限する為にhtaccessを使っています。 こちらは正確に動いています。 認証のウィンドウからID・パスを入れさせるのもいいのですが、今回はあえてフォームから認証させたいと考えていいます。 こちら[http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/auth.html]のサイトを参考にIDとパスを含んだURLをJavaScriptで生成して転送してやろうかと思いましたが、ブラウザですら受け付けてくれませんでした。 なにか、いい方法をご存知の方はいらっしゃいませんでしょうか? お手数をお掛け致しますが何卒宜しくお願い申し上げます。

  • HTML
  • 回答数1
  • ありがとう数0

みんなの回答

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

javascriptで開く方法は考えられますが 2点懸念があります。 1つはブラウザによってはurlに直接ユーザー名や パスワードをいれることができないこと。 もう1つはjavascriptが使えないユーザーが いること。 認証をクライアントの環境に依存させることは 非常に危険です。一応ソース <form name="f1" action="javascript:urlchange()"> user:<input type="text" id="user" value=""><br> pass:<input type="password" id="pass" value=""><br> <input type="submit" value="auth"> </form> <script language="javascript"> function urlchange(){ var u=document.getElementById('user').value; var p=document.getElementById('pass').value; if(u=="" || p==""){ alert('input err'); return; }else{ location.href='http://'+u+':'+p+'@www.yahoo.co.jp'; } } </script>

関連するQ&A

  • htaccessの認証が出来ません…

    htaccessによるBasic認証を試みてるのですが、何度IDとPASSを打っても同じ認証画面が出てきてしまいます…。 .htaccessには以下のように記述してあります。 AuthUserFile "フルパス.htpasswd" AuthGroupFile "/dev/null" AuthName "Input ID and Password." AuthType Basic <Limit GET POST PUT> require valid-user </Limit> <Files ~ "^.(htpasswd|htaccess)$"> Order deny,allow deny from all </Files> .htpasswdには ID:暗号化したパスワード と記述してあります。 フルパスの指定に間違いがないとしたら、何か他に認証に 失敗する原因として挙げられるものがありますでしょうか? 『0ad』というところでレンタルサーバーしてまして、htaccess可能となってはいるのですが…。

  • htaccessで拡張子を非表示にしてHTML文書を表示させる方法

    htaccessで拡張子を非表示にしてHTML文書などを表示させる方法が分かりません。 具体的に言えば、example.htmlというファイルを http://www.example.com/example というURLで表示したいのです。 http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/にて調べてみたのですが、よく分かりませんでした。 よろしくお願いします。

  • .htaccessでパスワード認証ができない

    仮のアドレス http://192.168.1.16/gazoufolder/ をパスワード認証をしたいと思います ですがIDとパスワードを入れてもできません できなかった例をあげます 私はhttp://192.168.1.16/htm/に .htaccessを置き 下のはコードです AuthType Basic AuthUserFile /htm/.htpasswd AuthGroupFile /dev/null AuthName "Enter password" Require valid-user (中身) .htpasswdはhtmのフォルダの中に入れています (もちろんパスワードは暗号化して入れていますID:passのように) .htaccessはもちろんパスワード制御をしたいのでgazoufolderに入れています それでhttp://192.168.1.16/htm/test.htmlにアクセスすると 認証画面はでるんですが IDとパスワードを入れてもずっと認証画面でIDとパスワードを聞かれたままです パスワードとIDは間違っていませんし どこが悪いのでしょうか? 自分的には AuthUserFile /htm/.htpasswd が怪しいと思うんですが 調べてみても /home/public_html/などややこしいのばっかりで どうしていいかわかりません http://192.168.1.16/でのパスはどうすれば良いのでしょうどなたか教え てください ちなみにOSはMacOSXです Apacheです

  • URLクリックによる認証について

    http://●●●/xxx.php?username=abcde というURLをクリックします。 ('abcde'はユーザがサイトにログインする時のIDです。) すると、xxx.php内で認証処理を行い、 IDが正しければ認証済の画面を表示させることは可能でしょうか。 (勿論パスワードはIDから取得できます) DBはMySQL、DB処理部分はPEARのAUTHを使っています。 GOOGLE検索等で調べたのですが、 載ってるのはフォーム上でのログイン認証についてでした。 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • .htaccessのユーザー認証コマンドって?

    .htaccess の ユーザー認証のコントロールコマンドに付いて教えてください 同人のサイト運営にどうしても 管理者数名だけが共有できるpageが必要で .htaccess を使用できるか レンタルサーバーの規約を確認したところ 使用できますが、ユーザー認証のコントロールコマンドのみ記述を許可しております。 それ以外は現在のところ、使用できません。 www4サーバー以降は、/usr/local/www/htdocs/ユーザーID/public_html/アクセス制限したいディレクトリ/  ・・・・と有るのですが このパスらしきコマンドを正確に .htaccessのパス指定部分に使っても機能しませんでした ユーザー認証のコントロールコマンド・・って何処に使えば良いのでしょうか?

  • .htaccessで特定のホストだけ転送させるには

    嵐にあっています。 IPホストが●●●.●●.4~34の間でアクセスしてくる事まで分かっています。 .htaccessでアクセス制限をかけようとも思ったのですが、 その人物に警告を出したくって、あるURLに転送させたいと考えております。 そこで.htaccessの記述についての質問です。 order allow,deny allow from all deny from 制限をかけたいホスト・IP Redirect permanent /web/ http://●●.▲▲▲.jp/error.html 上の書き方では間違っているようです(^^;) まず、●●●.●●.4~34の間のホストだけ制限するにはどういった表記になるのでしょう? http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/access.html#access2 で勉強してみたのですが、少々自分にはレベルが高く、分かりませんでした。 あと、特定のページへ転送させる方法も間違っているのでしょうか? スミマセンが、初心者にも分かりやすく教えて頂けるとありがたいです。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • .htaccess認証が正常に動作しない

    .htaccess基本認証を設置しましたが、正常に動作しません。 IDは正常ですが、パスワードが違うものでも入れてしまいます。 分からないのですが気になった点を。 そのサイトはサブドメインで運営している、パスの記述? 他のディレクトリでも.htaccessを使用しています。そのディレクトリでは 正常に動作しています。 足りない分は補足させていただきますので 何卒よろしくお願いたします。

  • htaccessでBasic認証

    無料サーバのland.toを使用しています。 .htaccessでアクセス制限をしようと試みています。 public_html--index.html       |        -member(アクセス制限したいディレクトリ)         |         |-index.html           |-.htaccess         |-.htpasswd  現在 「.htaccess」 AuthType Basic AuthName "Input ID and Password." AuthUserFile home1/httpd/自分のアカウント/public_html/member/.htpasswd AuthGroupFile /dev/null require valid-user と 「.htpasswd」 test:wJCXiVYr.qTbA という風に試しにUPしています。 認証のダイアログボックスが表示されて、passを入力しているのですが、どうしても認証されません。 passの暗号化は http://www.rescue.ne.jp/cgi/htpasswd/makepwd-des/ http://www.chama.ne.jp/access/index.htm の2箇所で試しましたがダメでした。 各ファイルの最終行の後に改行を入れる、アスキーモードでファイル転送する、属性を604にする、というのも確認をしています。 他に何か直すところはありますか? アドバイスをお願いします。

    • ベストアンサー
    • PHP
  • AUTHのフォーム認証で認証されない原因がわかりません

    AUTHを使いフォーム認証を試みていますが、 AUTH_WRONG_LOGINが返ってきます。 なぜ、認証されないのか原因が全くわかりません。 (単純入力ミス、パスワードのmd5による暗証値等の登録ミスではありません。) 以下がコードですが、コードに不適当な個所があればご指摘いただければと思います。 また、コードに問題がないようであれば、原因として何が考えられるか助言 をいただければと思っています。 (1)認証フォーム <html> <head> <title>ログインページ</title> </head> <body> <form method="POST" action="<?php> print($_SERVER['PHP_SELF']) ?>"> <table border="0"> <tr> <th align="right">ユーザID:</th> <td><input type="text" name="username" size="15" maxlength="20" /></td> </tr> <tr> <th align="right">パスワード:</th> <td><input type="password" name="password" size="15" maxlength="20" /></td> </tr> <tr> <td colspan="2"> <input type="submit" value="ログイン" /> </td> </tr> </table> <font color="red"><?php print($err); ?></font> </form> </body> </html> (2)認証コード <?php function loginFunction($usr,$status){  switch($status){   case AUTH_IDLED :   case AUTH_EXPIRED :    $err='ログイン期限が切れています。再ログインしてください';break;   case AUTH_WRONG_LOGIN :    $err='ユーザID/パスワードが間違っています。';break;   case AUTH_METHOD_NOT_SUPPORTED :    $err='認証方法が未サポート';break;   }   require_once('loginForm.php');   }   $params=array(    'dsn'=>'uri:file://XXXXX\XXXX.dsn',    'table'=>'login', 'usernamecol'=>'username', 'passwordcol'=>'password', 'db_fields'=>'*'); $myAuth=new Auth('DB', $params, 'loginFunction'); $myAuth->start(); if(!$myAuth->getAuth()){ exit(); } ?> .htaccessを使用し、認証コードが逐次実行されるようにしています。 [PHP使用環境] PHP=5.1.6 OS=Windows2000 PRO webserver=apatch2.0 [DB環境(リモートサーバ)] DB=MS SQL Server2000 OS=Windows2003 server R2 説明不足等がありましたら、ご指摘ください。

    • ベストアンサー
    • PHP
  • htaccess リダイレクト ディレクトリ名にチルダ?

    アクセスを許可していないユーザーがホームページを訪れた場合、.htaccessを使用して自作の403.htmlページへ弾くようなことがあります。この403.htmlが保存してあるフォルダ(ディレクトリ)の名前の先頭にチルダ(~)が付属している場合が良くありますが、なぜでしょうか? サンプルサイト: http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/redirect.html#redirect3 例えば上記のサイトの場合、下記のような記述例が出てきます。 ErrorDocument 403 /~user/403.html よろしくお願いします。

専門家に質問してみよう