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

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

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

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

.htaccess

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

解決済

WordPressのページに添付した一部のファイルにのみ閲覧制限をかけたい

shiroko
shiroko

総合スコア1

WordPress

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

.htaccess

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

1回答

0グッド

0クリップ

178閲覧

投稿2022/11/29 10:15

編集2022/11/29 15:15

前提

サイトは一般に公開したい内容であるが、一部、関係者だけに配布したいデータがある。

ページにパスワード保護をかけて運用していたが、このページに添付したファイルが検索でヒットするようになってしまった。

実現したいこと

パスワードで保護をかけているページにおいて、そのページ内に添付しているPDFファイルはネット上で露出しないようにしたい。(パスワードを入力して開ける人だけが閲覧できるファイルにしたい)

発生している問題・エラーメッセージ

.htaccessで該当ページのみファイルの閲覧に制限をかけたつもりだったが、サイト全体でファイルが開けなくなってしまった。 →パスワードを入力したページでのみ閲覧できるという状態だと思うので当然そうなるということは分かったのですが、希望しているサイトの保護しているページのファイルを検索でヒットさせないようにしたい、はどうやったら良いかで躓いてしまいました。

該当のソースコード

ソースコード .htaccessに入力したもの # 自分のサイトURL SetEnvIf Referer "^https://サイト内の保護ページのURL" ok_url <Files ~ "\.(pdf|xls|doc)$"> order deny,allow deny from all allow from env=ok_url </Files>

試したこと

上記のように.htaccessを更新しましたが通常のページにあるファイルの閲覧ができなくなり403forbiddenエラーが出ている。

添付ファイルにnoindexタグを付ければ!と思い調べてみましたがこの方法では検索にはヒットさせたくないという理想とは違う気がします。

補足情報(FW/ツールのバージョンなど)

こちらに私のような素人が質問したことが間違いで、ご指摘頂いた方申し訳ありません。
修正した質問内容でも足りないのは承知していますが質問の削除も出来ないようですので、何か問題解決のヒントでも教えて頂けるようでしたら宜しくお願いいたします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/11/29 13:36依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「問題・課題が含まれていない質問」という指摘を受けました。

2022/11/29 11:01依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

yuma.inaura

2022/11/29 12:40

.htaccess の中身も書いておいてはいかがでしょう

回答1

0

ベストアンサー

ガチでやるなら、の方法を記載します。

  1. PDFファイルを、ドキュメントルートより上の階層(もしくは同列の別領域)に置く
  2. PHP(今回WordPressのようなので)にて、アクセストークンがあり、トークンが有効な場合にそのPDFファイルを返すAPIを用意(トークンは、セッションなどで一時的に有効にしておく)
  3. 該当のログインページでは、ログインすると、トークンを発行し、そのトークンを使ってPDFを返すAPIを叩くようなリンク等を設置する

以上であれば、よほどのことがない限り、PDFファイルへの不正アクセス等はできなくなるかと。

投稿2022/11/30 02:17

miyabi_takatsuk

総合スコア9400

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

shiroko

2022/11/30 09:44

ありがとうございます!その方法でやってみたいと思います。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

WordPress

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

.htaccess

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