3

信じられない (最後の赤いボックス): https://www.codeigniter.com/user_guide/general/caching.html

注: キャッシュ ファイルを書き込む前に、アプリケーション/キャッシュ フォルダーのファイル アクセス許可を書き込み可能に設定する必要があります。

ようこそページで:

$this->output->cache(60);

CodeIgniter では、フォルダーのアクセス許可777をテスト済みに設定する必要があり、775 または 755 は機能しませんでした。777 だけが機能しました。これは、誰もがフォルダの内容を読み取り、php ファイルをアップロードして実行できることを意味します。codeigniter がそのような安全でない方法を提案するのはなぜですか?


更新しました:

これらの権限は機能しません:

ll
    drwxr-xr-x  2 besime besime 4096 Aug 20 17:46 cache/
ll
    drwxr-xr-x 15 besime besime 4096 Jun 14 11:11 application/
ll
    drwxr-xr-x  4 besime besime 4096 Aug  3 12:08 CodeIgniter/

キャッシュを次のように変更するまで:

drwxrwxrwx  2 besime besime 4096 Aug 20 17:46 cache/

b082457291d5cfcb6fb76fda5b43f60aウェルカム ページを開くと、キャッシュ フォルダーに作成されたファイルが表示されます。

4

5 に答える 5

3

世界を書き込み可能にしたくない場合は、所有者をphpを実行するユーザーに変更してください。ユーザーごとのパーミッションで実行していない限り、現在のセットアップでは PHP スレッドに書き込みアクセス権がありません。

chown www:www キャッシュ

次に、700または775を使用できるはずです。

どのユーザーが実行しているかを確認できます

echo exec('whoami');
于 2013-08-20T13:28:47.793 に答える