私が設定しているサイトでは、アップロード/ダウンロードをセキュリティ保護し、ユーザーの役割/機能に基づいてそれらへのアクセスを制限するという分野全体を検討していました。もちろん、私はここで(一般的な)トピックに関連したいくつかの以前の質問を読みました。
一般的に、ワードプレスのインストールのセキュリティをさらに向上させること、たとえばwp-config.php
を保護することは悪い考えではありません。それをする方法がそこにたくさんの情報があります。私はこの質問の文脈の中で私のアップロード/ダウンロードについて主に関係しています。
Wordpressのアップロードはセキュリティ保護されていません。.htaccess
で防止しない限り、誰もがuploads
フォルダを閲覧できます。
Options All -Indexes
.htaccess
ファイルはuploads
フォルダー内に配置する必要があります。しかし、それは実際にそれらを保護するのではなく、単にファイルを見つけるのを難しくします。さらにhotlinking
を防ぐこともできます。これは、referrer
に基づいてアクセスを制限することです。これについては、少し詳しく説明すると思いますが、これ以上詳しく説明することはしません。
もちろん、投稿を非公開にしたり、適切なテンプレートファイルを使用してカスタム投稿タイプを作成してその投稿タイプを非公開にしたりすることはできますが、ファイルを保護することはできません。ファイルをis_user_logged_in()
やis_admin()
のような条件式でラップする場合も同様です。
補足として、あなたのファイルを安全にして保護することを約束するたくさんのプラグインがありますが、それらの多くはそうするふりをしています、理由のいくつかは上にあります。それが誰にも知られていないと確信しているので、私はただそれを指摘しています - だから、それを知っておいてください。
私の意図は、(一部の)アップロードとそれぞれのダウンロードへのアクセスを制限できるようにすることでした。そして、偶然ではなく、あるいは誰かがファイル名を知っていたとしても、望まない人が誰にもアクセスできないことを確認するために、ファイルは本当にプライベートで安全なものにすべきです。結局のところ、特定の人だけが例外なくアクセスできるはずです。
さらに、私はサイト全体を民営化する必要はありませんでした。実際、それは逆効果になるでしょう - それは公開目的で使用されています。さらに、私はこのソリューションを簡単に使えるようにしたいと考えていました。単純な理由で、それを扱う人々の中にはコンピュータの専門家ではないことが多いのです。
したがって、問題は、(一部の)アップロードとそれぞれのダウンロードへのアクセスを制限する(比較的)簡単な方法はありますか?私が実行したように、それは本当にそれらを保護し安全にする方法を意味しますか?
私は解決策を見つけたので私はここに私自身の質問に答えるが、私はそれに対するあなたの意見に本当に興味がある。それとも、もしそうなら、私は本当にそれについてここにしたいと思います。
私の研究結果は次のとおりです。
1。ドキュメントルートのwww
フォルダの外側のファイルを取得します。
2。ファイルを含むフォルダへの直接アクセスを許可しません。
3。スクリプトにファイルへの要求を処理させます。
これらの点についての情報源は - 少なくともほとんど - 私の質問に含まれています。
files
というフォルダーがwp-content
内に作成されます。files
フォルダーに.htaccess
ファイルを追加しました。.htaccess
の内容Options All -Indexes
Order Deny,Allow
Deny from all
download method
です。output file
に変更しました。allowed to download
というオプションがあります。私はその解決策が研究結果にほぼ従うと考えています。ファイルを外に置くこととは別に。しかし、ディレクトリへのアクセスを制限したり、ディレクトリを保護したり、スクリプトにファイル要求を処理させたりすることは十分に可能です。アクセス制限は.htaccess
によって処理され、この場合のスクリプトはプラグインwp-downloadmanger
です。
download method
をoutput file
に変更するには、 絶対に必要です そしてもちろん.htaccess
ファイルがあることは must です
プラグインがスクリプトの役割を引き継いでいることを確認するには、wp-downloadmanger.php
- 207行目から227行目(バージョン1.6.1)を見てください。これは、リンクされた情報を補足するものです。