CI ユーザー ガイドには、次のような行があります。
アップロードした画像の宛先フォルダーが必要です。CodeIgniter インストールのルートに uploads というフォルダーを作成し、そのファイル許可を 777 に設定します。
実際の Web アプリケーションを開発している場合、安全性はどれくらいですか? 例: ソーシャル ネットワークで、ユーザーのプロフィール写真をアップロードしたい。ユーザーが私的な写真をアップロードしたい場合、プライバシーの問題が発生すると思います。
CI ユーザー ガイドには、次のような行があります。
アップロードした画像の宛先フォルダーが必要です。CodeIgniter インストールのルートに uploads というフォルダーを作成し、そのファイル許可を 777 に設定します。
実際の Web アプリケーションを開発している場合、安全性はどれくらいですか? 例: ソーシャル ネットワークで、ユーザーのプロフィール写真をアップロードしたい。ユーザーが私的な写真をアップロードしたい場合、プライバシーの問題が発生すると思います。
必要なセキュリティのレベルによっては、777 が最適なオプションではない場合があります (これが最も簡単です)。Web サーバーが実行するユーザーは、フォルダーに rwx を持っています。本当に安全にしたい場合は、フォルダーを webroot の下に置くべきではありません。
つまり、Web ファイルが /home/mysite/ にある場合 (たとえば、 /home/mysite/index.html はhttp://mydomain.com/index.htmlにマップされます)、アップロード フォルダーは /home/uploads である必要があります。
アプリケーションはコードを使用して、システム パス ( /home/uploads ) 経由でファイルにアクセスできますが、インターネットから直接アクセスすることはできません。
または、上記を実行できない場合 (たとえば、共有ホスト上にいるため.htaccess
)、次のルールを配置することにより、同じ効果を得るために (アップロード フォルダーに配置) を使用できます。
Deny from all
Options None
Options +FollowSymLinks
(繰り返しになりますが、Apache はこれらのファイルを直接提供できないため、アプリはシステム パスを使用する必要があります)。
.htaccess を使用して、許可したフォルダー以外のフォルダーへのアクセスを拒否することもできます。少なくとも私は私のものと同じことをしました.htaccessにアクセス用にリストされていないディレクトリはユーザーが利用できません.
もう 1 つの安全な方法は、/public_html/ の外にあるフォルダーを使用することです。このフォルダーの外にあるディレクトリは、外部からほとんどアクセスできません。