テーマをCocoonに変更しました!

wordpressトピックスの情報フルページ表示

  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    たしかに、一旦はwp-admin/index.phpにアクセスされますね。

    今回、sucuriのアラートメッセージはfailed login ログインユーザー名

    なので、ファイルへの不正アクセスというよりは、不正ログイン検知なので、ログインに失敗しているというのは間違い無さそうです。

    xmlrpc.php を無効化できていなかったので、無効化し様子を見ております。

    今のところ、不正ログインは起きていませんので、また何かありましたら、

    ご質問させていただくかもしれません。

    大変詳しくありがとうございます。

    (2025-4-4)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    「ログインしていない状態でwp-adminのフォルダやファイルにアクセスすると、wp-login.phpにリダイレクトされるものだと認識しております。」とお書きですが、この認識が間違っています。

    Apacheのリダイレクトの場合、例えば、.htaccessなどに

    Redirect 301 /a.php /b.php

    と書くか、または、

    RewriteEngine On
    RewriteRule ^a.php$ b.php [R=301,L]

    と書くことで実現できます。

    この時Apacheは、ブラウザからa.phpが要求されたら、a.phpを開くことなく即座にb.phpを開きます。ですから、b.phpが閲覧制限されていたら、a.phpもまた閲覧制限が適用されます。

    ところがwp-admin/index.phpは、そういう正規の意味でのリダイレクトが行われているわけではありません。WordPress の PHP コード(アプリケーションレベル)で実行されている擬似的なリダイレクトです。その動作は次のようになっています。

    処理の流れ(ログインしていない場合に wp-admin/index.php にアクセスすると…)

    1. ブラウザが https://example.com/wp-admin/index.php にアクセス
    2. Apache は そのファイルを通常通り処理し、PHP が実行される
    3. wp-admin/index.php → wp-admin/admin.php が読み込まれ、
    4. admin.php 内で WordPress コア関数 auth_redirect() が呼ばれる
    5. この関数が「ログインしていない」と判定すると、wp_redirect( wp_login_url() ); exit; というコードにより、PHP側で wp-login.php へリダイレクト
    6. ブラウザが wp-login.php?redirect_to=... に飛ばされる

    という流れです。

    つまり、一旦index.phpは開かれるわけです。ということは、wp-login.phpにいくらIPアドレス制限をかけても、制限をかけてないindex.phpはアクセスし放題なわけです。もちろん、index.phpで処理された結果転送されたwp-login.phpは開かれないですよ。でも、index.phpは開かれた後なので、ログには制限されているはずのIPアドレスが残るのです。

    (2025-4-3)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    FilesMatchの仕様云々の前に、ログインしていない状態でwp-adminのフォルダやファイルにアクセスすると、wp-login.phpにリダイレクトされるものだと認識しております。

    なので、wp-admin/index.phpにアクセスし放題というのは少し私の認識とは違いました。

    (2025-4-3)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    すみません。もしかしてサーバがApacheと違って動作が異なるのであればすみません。

    「FilesMatch なので、wp-adminというディレクトリやその文字列が含まれるファイルへのアクセスを意味するものだと思います。」とお書きなので、すみませんが、そのエビデンスを教えていただけませんか?

    Apacheのドキュメンテーションでは、FilesMatchについて、「<FilesMatch> ディレクティブは、 <Files> ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。」とあり、Filesディレクティブでは、「このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分) が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。」と、わざわざベース名と指定してパス名は排除しています。

    これを素直に読むと、「FilesMatch は ファイル名だけ に適用。ディレクトリにはマッチしない。」となります。ディレクトリを指定したい場合は、<Directory><DirectoryMatch>ディレクティブを使用します。ただしこれは.htaccessでは使えないので、そのディレクトリに.htaccessを配置するということになりますが…。

    また、逆に説明すると、プラグインやテーマには、「admin-ajax.php」にアクセスするものがあり、アクセスできないと不具合が出ます。これがIPアドレスで制限がかけられていると、allow指定されていないIPアドレスから見ると、サイトに何らかの不具合が出るはずです。それがないということは、現状、wp-adminディレクトリにあるadmin-ajax.phpへは制限がかかっていないということになります。ということは、FilesMatchで指定しているwp-adminは機能していないということではないでしょうか。

    (2025-4-3)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    アドバイスありがとうございます。

    XMLRPCは無効化を忘れていたので施しました。これで様子みてみます。

    IPアドレスはすみません、ここに載せるための適当なアドレスです。

    (2025-4-3)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    こんにちは。
    wp-login.phpやwp-admin以外のエンドポイント(REST APIやXMLRP)を利用して攻撃を試みているかどうかは、チェック済みでしょうか?
    Sucuriは実際のログイン試行だけでなく、REST APIやXMLRPCなどの別のエンドポイントへの攻撃も検出している可能性がありますので、ログを確認してみてください。
    XMLRPCは、無効化しておくことをお勧めします。

    あと、気になる点としては

    allow from 1.1.1.1
    allow from 1.1.1.2

    は、Cloudflareの公開DNSサービスのIPアドレスですよね?
    これを許可IPとして使用するのは、実質的に「全世界からのアクセスを許可」しているのに近い状況で、セキュリティ上のリスクが生じる可能性があると思うのですがどうでしょうか?

    Sucuriをりようされているのなら、IP制限だけでなく、二要素認証(2FA)の導入も検討してみてください。

    (2025-4-3)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    質問ですが、wp-admin/index.php などもログインしていないとwp-login.phpにリダイレクトがかかりますので、wp-admin/index.phpへのアクセスし放題ということは無いと思うのですが、いかがでしょう?

    (2025-4-2)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    ご回答ありがとうございます。

    wp-admin/index.phpもIPアドレスが違うとキッチリと拒否されていますので、

    それは違うような気がします。

    FilesMatch なので、wp-adminというディレクトリやその文字れるが含まれるファイルへのアクセスを意味するものだと思います。

    (2025-4-2)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    FilesMatchディレクティブの動作はまず、ファイル名に対して指定したものと合うかどうかを比較し、ヒットした場合には、ディレクティブ内のルールを適用します。よく似たのに、Filesディレクテイブがあり、これもファイル名に対して比較がはたらきます。これはどちらも、ファイル名に対して比較がはたらきます。ですからファイルではないwp-admin(ディレクトリ名)にはマッチしません。つまり、ご指定のディレクティブだと、wp-admin/index.phpなどにはアクセスし放題です。

    また、そもそもサーバの設定で.htaccessでFilesMatchディレクトリが許されているのかどうか確認する必要があります。Apacheの場合なら、AllowOverride Allでないと、.htaccessのFilesMatchディレクティブは無視されます。

    AllowOverride Allという前提で、wp-admin以下のファイルにアクセスできないようにするには、wp-adminディレクトリ内にディレクティブ指定しないで単純に

    Order deny,allow
    Deny from all
    Allow from 1.1.1.1
    Allow from 1.1.1.2

    とした上で、フロントエンドで動くプラグインやテーマのJavaScriptがアクセスする可能性の高いadmin-ajax.phpのみ制限を解除するように次の指定を続けます。

    <Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any
    </Files>

    以上で、指定したIPアドレスのみがアクセスできるようになるでしょう。

    なお、これでも改善しない場合、Sucuri がリモートのIPではなくてCDN経由のIPを拾っている可能性があります。Suc uriの動作は詳しくないので、他の人の答えに期待しましょう。

    (2025-4-2)
  • ファビコン返信先: ログインページにIPアドレス制限をかけているのに

    ご返信ありがとうございます。

    IPアドレスはもちろん、変わるのですがそれだとイタチごっこになります。

    不思議なのは、wp-login.php以外でログインアタックする方法があるのでしょうか?

    上記設定だと、指定したIPアドレス以外はwp-login.phpもwp-adminにもアクセスできないはずですが。

    (2025-4-2)
  • ファビコン返信先: imgタグにloading属性が付与される挙動について

    @manbo

    ドキュメントのリンクありがとうございます!

    template_part_headerコンテキストは例外的にabove the fold扱いになる事が分かり、疑問解決に至りました。

    また以下のコードでget_header()がthe_content()の出力に影響する理由がコンテキストの分離が正しく行えておらず、get_header()の呼び出しによりその後のthe_content()に意図しない副作用(above the fold扱い)をもたらしているものだと理解しました。

    <?php
    get_header(); // NOTE: ここの有無でloading属性が付与されたり・されなかったりする
    the_content();
    ?>

    テンプレートパーツで読み込む以下の記述にすることでコンテキストの分離が正しく行え、template-parts/content.phpでは期待通りのloading="lazy"属性が付与される事が分かりました。

    <?php
    get_template_part('template-parts/header');
    get_template_part('template-parts/content');
    ?>
    (2025-3-22)
  • ファビコン返信先: imgタグにloading属性が付与される挙動について

    Image loading optimization enhancements in 6.4
    お読みください。

    (2025-3-21)
  • ファビコンimgタグにloading属性が付与される挙動について

    WordPressのテーマにて、get_header()の有無でthe_content()より出力されるimgタグにloading="lazy"が付与されたり・されなかったりする挙動が見られるようですが、これは仕様でしょうか?

    Ver 6.3.5まではget_header()の有無で挙動は変わらないようですが、Ver 6.4系以降get_header()があるとloading属性は付与されないようでした。

    以下は挙動の確認をまとめた表です。

    確認に用いたコードは以下リポジトリよりご参照頂けます。
    https://github.com/TsubasaHiga/wp-lazy-test-theme

    以下は確認環境です。
    Ver 6.3.5
    get_header()あり(loading属性あり)
    https://sweet-router.localsite.io/hello-world
    amusement / loving

    get_header()なし(loading属性あり)
    https://innate-sunrise.localsite.io/hello-world
    recipe / flashy

    Ver 6.4.0(以降すべて同様の挙動のようです)
    get_header()あり(loading属性なし)
    https://cuddly-spiral.localsite.io/hello-world
    parachute / general

    get_header()なし(loading属性あり)
    https://panicky-mine.localsite.io/hello-world
    jewelry / noiseless

    仕様でしたらこの辺りのドキュメントを探しておりますので、ご存知の方がいらっしゃいましたら教えていただけますと幸いです。

    (2025-3-20)
  • ファビコン返信先: 「マテリアル2」のカテゴリページテンプレートについて

    こんにちは😃
    その後、状況いかがですか?

    (2025-3-14)
  • ファビコン返信先: 「マテリアル2」のカテゴリページテンプレートについて

    これはあくまでも想像ですが、子テーマの category.phpを削除で解決しそうな気がしています。
    archive.php とか loop.php の中で条件分岐させてるとかだと、話は別です。

    (2025-3-11)
  • ファビコン返信先: 「マテリアル2」のカテゴリページテンプレートについて

    いろいろ試してみましたが

    いろいろでは、何をどう試したのかが分からないので、具体的に何をどうしたのかを説明してもらえないでしょうか?

    子テーマの中身は確認されましたか?
    確認されたのであれば、中にどんなファイルがあるか教えてください。

    (2025-3-10)
  • ファビコン返信先: 「マテリアル2」のカテゴリページテンプレートについて

    Yukinobu Asakawa(@yukinobu) さん
    まーちゅう(@rocketmartue) さん

    ありがとうございます。
    ご教授を受けて、いろいろ試してみましたが力不足で、できませんでした。

    カテゴリーページの
    https://mowappu.jp/category/notice/ を
    タグページの
    https://mowappu.jp/tag/tg-notice/ と同じような「タイル表示」にしたいだけなのですが…。

    なにかいい方法、ありませんでしょうか?

    (2025-3-10)
  • ファビコン返信先: 「マテリアル2」のカテゴリページテンプレートについて

    こんにちは。

    https://mowappu.jp/category/inform/ のサイトを確認しましたが、実際に使用されているテーマは、「マテリアル2」ではなくて、「マテリアル」の子テーマのようです。

    /*
    Theme Name: マテリアル_child
    Template: wp_material
    Description: マテリアルの子テーマ
    Version: 1.1.0
    Author URI: http://wp-material.net
    */
    /*
    Theme name: マテリアル
    Author: Nobuo_CREATE
    Author URI: http://wp-material.net
    Version: 4.0
    */

    テーマのデフォルトの状態だと、カテゴリーページもタグページと同じレイアウトです。
    子テーマ側で、何かカスタマイズされていると思いますので確認してみてください。

    (2025-3-9)
  • ファビコン返信先: 「マテリアル2」のカテゴリページテンプレートについて

    こんにちは👋

    すみません。
    お尋ねの「マテリアル2」テーマですが、WordPress.org 掲載のテーマ以外は、規約上、このサポートフォーラムでサポートすることができません。
    お役に立てず申し訳ありませんが、ご了承ください。

    フォーラムガイドライン

    その上でですが、「マテリアル2」テーマの情報を少し検索しましたが、情報が少なく、今現在も配布・サポートされているのでしょうか?
    もし配布もサポートも終了している場合には、お問い合わせすることも現実的に難しいと思いますし、
    古いテーマを使い続けることはセキュリティー上のリスクを抱えることになりますので、おすすめできません。

    今のテーマであれば、ご質問の内容についてもブロックテーマ、ブロックエディターで比較的簡単に編集ができると思いますので、サイトの運用も今後もお続けになるご意向なのであれば、見直しすることもご検討ください。

    (2025-3-8)
  • ファビコン「マテリアル2」のカテゴリページテンプレートについて

    「マテリアル2」のカテゴリページテンプレートについて、ご教授ください。
    古いテーマであることは十分承知していますが…。

    タグページや年月アーカイブのページは、タイル状に表示されますが、カテゴリページのみ総覧で表示されてしまいます。

    カテゴリページ
    https://mowappu.jp/category/inform/

    タグページ
    https://mowappu.jp/tag/tg-inform/

    タグページや年月アーカイブのページと同じように、カテゴリページもタイル状に表示したいと考えています。
    どのように修正や設定すればよろしいでしょうか?
    お分かりいただける方、ご教授いただければ幸いです。

    (2025-3-7)
タイトルとURLをコピーしました