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

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

新規登録して質問してみよう
ただいま回答率
85.50%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

1回答

4470閲覧

wp-login.phpにIP制限をかけ、特定のURLだけアクセスを許可したい

MATRIX

総合スコア16

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

2クリップ

投稿2019/02/15 10:48

前置き

Nginx初心者です。
現在、WordPressサイトをKusanagi(Nginx)を使って作成しております。
Nginxのconfを使ってWordPressのダッシュボードにIPアドレスによる制限を追加しました。
設定ファイルは次の通りです。Basic認証は使用しないのでコメントアウトしております。

location ~* /wp-login.php|/wp-admin/((?!(admin-ajax.php|images/)).)*$ { satisfy any; allow [ここに許可するIPアドレス]; allow 127.0.0.1; deny all; #auth_basic "basic authentication"; #auth_basic_user_file "/home/kusanagi/.htpasswd"; location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffers 256 128k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_read_timeout 120s; } include conf.d/security.conf; }

これにより、IPアドレスによるアクセスを問題なく /wp-login.php(wp-admin) にかけれました。

やりたいこと

wp-login.php上の一部のURLのみ例外としてアクセスを許可したい。
例) /wp-login.php?action=logout&12345
にアクセスした場合はIPアドレスによる制限を解除して実行させたいのですがこちらは可能でしょうか?
12345の箇所は動的なので出来ればそれ以降は*みたいな形で対応出来ればと思います。

どなたかご教授頂ければ幸いです。

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

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

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

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

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

guest

回答1

0

ルールの順番ですが,

1,wp-login.phpへのアクセスをすべてallow
2,マッチするURLをallow
3,その他のURLをDeny

先に拒否をしてしまうと,穴は開けれないです

投稿2019/02/16 04:39

DaichiYasuda

総合スコア173

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

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

MATRIX

2019/02/16 05:26

ご回答ありがとうございます。 なるほどですね!この場合だと禁止したい物を全て記載していく形となるので抜けがあればセキュリティ的にどうしても抜け道が出てしまうかと思います... できれば全て禁止して例外のみを追加したいと考えておりました。
DaichiYasuda

2019/02/17 06:45

>この場合だと禁止したい物を全て記載していく形となるので抜けがあればセキュリティ的にどうしても抜け道が出てしまうかと思います... 逆ですね! 許可するものをすべて記載して,その他は拒否するのでセキュリティ的には大丈夫かと
MATRIX

2019/02/19 07:48

ご回答ありがとうございます。 なるほど!ルールに関して承知致しました。 ご教授頂いた方法で一度やってみたいと思います。
ozwind918

2019/02/19 08:25

Nginxに詳しくはないのですが、こちらの回答は間違っているのではないかと感じます。 https://docs.nginx.com/nginx/admin-guide/web-server/web-server/ やhttps://qiita.com/aosho235/items/1acf65246d2a36661021 に記載されているlocationの評価順序は関係ないんでしょうか。 私の認識が間違っていたらその旨コメントください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問