質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

1285閲覧

IPアドレスによる認証兼パスワード認証

Ito_Kazuki_

総合スコア124

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

1クリップ

投稿2021/04/21 00:32

編集2021/05/01 21:17

前提・実現したいこと

HPでとあるページにアクセスする際にパスワード認証をしようとしています。
ただし、ある特定のIPアドレスからのアクセスの際には認証を省略できるようにしたいと考えています。

パスワード認証だけであればBasic認証、IPアドレスだけであれば.htaccessによるアクセス制限でいいと思いますが、併用する方法が分かりません。
*Basic認証とhtaccessアクセス制限の併用以外の方法があるならそちらでも構いません。
*IPアドレスで通った場合とパスワード認証で通った場合のアクセス先は同じにしたいです。

(イメージ)
特定のIPアドレス|→YES→アクセスOK
---------|→NO →パスワード認証|→TRUE→アクセスOK
----------------------|→FALSE→アクセス禁止

試したこと

js

1function nextPage(){ 2 pwd=document.form.pass.value; 3 location.href="./"+pwd+"/index.html"; 4 }

上記のコードを使用することも考えましたが、精度が低いと思います。

###最終的な解決方法
(自己解決ではなく、回答を参考に作成したもの。)

AuthType Digest AuthName "Admin" AuthUserFile /virtual/username/public_html/exapmle.com/support/system/.htdigest Require valid-user Require ip ***.***.***.***

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2021/04/21 00:35

もしかして、JavaScriptでパスワード認証をかけようとしているのでしょうか? サーバーサイドは何を使用していますか?
Ito_Kazuki_

2021/04/21 00:40

誤解を招いてしまい、申し訳ないです。 JavaScriptでパスワードをかけることは最終的に何も出来ないできない場合に考えています。 現状はBasic認証でパスワード認証させようとしています。 (JavaScriptでは安全にパスワード認証をかけられないと思っていたのですが・・・)
miyabi_takatsuk

2021/04/21 01:54

> JavaScriptでは安全にパスワード認証をかけられないと思っていたのですが その通りです。 パスワード関連の処理っぽいJS構文があったので、気になり、聞いといた次第です。 .htaccessなどのみでは苦しいような気がしますが、 サーバーサイドを使用しての認証は検討していないのでしょうか?
Ito_Kazuki_

2021/04/21 02:03

サーバーサイドを使用した経験がないため検討していません
guest

回答1

0

ベストアンサー

サーバーの情報がないので、情報だけになりますが...

apache2.4系でBasic認証 or Digest認証、特定IPアドレスからは認証なしで

のように、Basic認証とIPアドレス認証のどちらかで認証が通ればOK という設定は可能です。

投稿2021/04/21 09:24

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ito_Kazuki_

2021/04/30 23:25 編集

回答ありがとうございます。 ご紹介いただいたサイトを参考に以下のように作成しました。 AuthType Basic AuthName "Admin Only" AuthUserFile /virtual/****/public_html/*****/system/.htpasswd Require valid-user Require ip **.***.***.*** しかし、IPアドレスによって照合できた場合は問題なくアクセスできることが確認できたのですが、 IPアドレスによって照合できなかった場合はパスワード入力画面にて入力した後、パスワードの正誤問わず500Internal Server Errorになってしまいました。AuthUserFileはサーバー管理会社に問い合わせて確認しているため間違いないです。
itagagaki

2021/05/01 06:47

もうやってるかもですが、Basic認証 500 でググるとわかるかも。 .htpasswdのパスが間違いないとすれば、怪しいのはファイルのパーミッションか、パスワードが暗号化されていないか、あたりでしょうかね。
Ito_Kazuki_

2021/05/01 20:51

ファイルのパーミッションは644 パスワードは暗号化しましたし、たぶん暗号化していない場合は異なるエラーだと思います。 各ファイルの最後に空白の1行ありますし、問題ないと思います。
Ito_Kazuki_

2021/05/01 20:57

いろいろ試した結果、<>を入れると問答無用で500Errorであることが判明しました。 また、Digest認証に一応しました。これでもできません。 AuthType Digest AuthName "AdminOnly" AuthUserFile /virtual/****/public_html/*****/system/.htdigest Require valid-user Require ip **.***.***.*** id:AdminOnly:881949a5880c85c76c3904701818876f 何が問題なのでしょうか。
Ito_Kazuki_

2021/05/01 21:14

最終的フルパスが若干異なっていることに気づき、 きちんとできるようになりました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問