よくある質問

Medifence についてよくある質問と回答です。

ファイルの URL は変わりますか?

変わりません。投稿・テーマ・データベース内の既存 URL はそのまま動き続けます。ファイルの物理的な配置も変わらないため、移行作業は一切不要です。ログイン済みの訪問者には何の変化も見えません。

保護が実際に効いているか、どう確認できますか?

設定画面がライブテストを実行します。一時ファイルを作成し、セッション Cookie なしの HTTP リクエストでそのファイルを取得して、実際に返ったステータスコードを表示します。サーバー設定が原因でルールが機能しない場合も、数か月後ではなくその場で分かります。「ツール」→「サイトヘルス」にも保護状態が表示され、WP-CLI が使える環境なら wp medifence status でも確認できます。

一部のファイルだけ公開したままにできますか?

できます。「除外するパス」にフォルダを指定すると、そのフォルダ配下はログインチェックなしで配信されます。逆に「指定したパスのみを保護する」を選べば、指定したフォルダだけが保護されます。拡張子単位の除外(css や js など)もできます。画像は生成サイズだけを公開することもできます — ギャラリー用のサムネイルは誰でも見られて、原寸は会員だけ、という形です。1 ファイルだけを例外にしたい場合は、メディアライブラリから「常に公開」「常に保護」を指定できます。

アカウントのない相手に 1 ファイルだけ見せられますか?

できます。設定画面またはメディアライブラリの「共有リンク」から、有効期間(1 時間〜30 日)を指定してリンクを作成してください。リンクはそのファイルの通常の URL に署名と期限を付けたもので、他のファイルには使い回せません。パスワード(転送への二要素目)、ダウンロード回数の上限、誰に渡したかを残すメモを付けられ、発行直後の画面からそのままメールで送れます。複数ファイルの一括発行、個別の失効、台帳の CSV 出力にも対応しています。

どのファイルが公開されているか、まとめて確認できますか?

できます。監査タブが、現在の設定をライブラリ全体に当てはめて、ログアウトした訪問者が開けるファイルを理由つきで一覧します。その場で「常に保護」に切り替えられ、直後に走査し直すので、残っているのは今まだ開いているものだけです。どの添付も指していないファイル(移行の取り残しなど)や、公開ページに埋め込んでしまった保護ファイルも見つけます。日次のカウントを有効にしておけば、前回以降に公開になったファイルが名指しで届きます。

nginx では使えますか?

使えません。本プラグインは .htaccess のリライトルールに依存しており、nginx は .htaccess を読み込みません。nginx で同等の保護を行うにはサーバー設定側に相当するルールが必要で、プラグインが安全に管理できる範囲を超えます。

無効化するとどうなりますか?

.htaccess からルールが除去され、すべてのファイルが通常どおり配信される状態に戻ります。アンインストールすると、加えてプラグインの設定もすべて削除されます(マルチサイトでは全サイト分)。

他のプラグインが .htaccess を上書きしてしまったら?

Medifence が検知して管理画面に警告を表示し、「.htaccess ルールを再生成」のワンクリックで復元できます。さらに 1 日 1 回の自動点検でも、ルールが失われていれば自動的に書き直されるため、誰もログインしなくても保護が戻ります(自動修復は設定で無効にできます)。書き込みには WordPress 標準のマーカー方式を使っているため、Medifence 側が他のプラグインのルールを壊すこともありません。

保護を有効にしたのに、まだファイルが見えます

保護を有効にする前、あるいはそのフォルダ・拡張子を除外していた間に配信されたファイルが、サーバー前段や CDN のキャッシュに残っている可能性があります。この場合、リクエストは WordPress に届かずキャッシュから返されます。Medifence 自身が配信するファイルには Cache-Control: private を付けているため共有キャッシュに保存されることはありません。キャッシュの有効期限が切れるか、キャッシュを消せば解消します。URL の末尾に ?x=1 のようなクエリを付けて確認すると、多くのキャッシュを迂回できます。

サイトは遅くなりますか?

保護されたファイルは PHP を通して配信されるため、直接配信よりオーバーヘッドがあります。これを小さく保つため、ETag ヘッダーによりログイン済みユーザーのブラウザーがファイルをローカルにキャッシュし、2 回目以降のリクエストには本文なしの 304 を返します。除外した拡張子・フォルダのファイルは PHP を通らず直接配信されます。

外部サービスへの通信はありますか?

ありません。ライブテストが送信する HTTP リクエストは自サイト宛ての 1 件のみで、外部にはどこにも何も送信されません。

← ホームに戻る

タイトルとURLをコピーしました