1

ここでは、LAMP のアクセス許可が原因でファイルにアクセスできないという質問をたくさん見てきましたが、アクセス許可を使用して http クライアントでファイルを表示できないようにすることについては何もありません。

Apache2 ルート フォルダーにファイルとフォルダーがあり、ブラウザーやその他の外部手段からアクセスできないようにしています。パーミッションを 770 に設定しましたが、これでは十分ではないようです。外部ユーザーは apache ユーザーとしてファイルにアクセスしますか? デフォルトをほとんど変更せずに Ubuntu Server で LAMP を実行しているため、Apache ユーザーは www-data、グループは :www-data、Apache ルートは /var/www です。

/var/www/_private フォルダーには 770 のアクセス許可があり、含まれているファイルには同じアクセス許可があります。ただし、ブラウザからこれらのファイルにアクセスすると、引き続き表示できます。クライアントは www-data ユーザーとして私のファイルにアクセスしていますか? もしそうなら、どうすればこれを修正できますか?

ファイルへの外部からの直接アクセスを拒否するには、「その他」のアクセス許可を 0 に設定するだけで十分な、ホストされたセットアップに取り組んできました。この機能を利用するには、追加のモジュールをインストールする必要がありますか?

注:includes、fopenなどを介してこれらのファイルにアクセスするには、クライアントからアクセス可能なPHPスクリプトが必要です...

4

1 に答える 1

1

そうですね、770 はファイルの所有者とグループが読み取り、書き込み、実行できることを意味します。私は、Apache がそのファイルの所有者であり、そのファイルにアクセスして世界中に公開できると推測しています。

サーバーのアクセス許可を変更して、ファイルのアクセシビリティに害を及ぼす可能性がある代わりに、ファイルを使用しないでください.htaccess。ファイルへのアクセスを拒否するなど、特定のインスタンスでアクションを実行するよう Apache に指示します。.htaccessWeb サイトのルートにファイルを作成するだけです。

<Files {your file name here}>
deny from all
</Files>

そして、誰もが Apache でアクセスすることを拒否します。

ディレクトリ全体を拒否する場合は、次のようにします。

<Directory /var/www/_private>
   Order Deny,allow
   Deny from all
</Directory>
于 2013-05-13T02:19:11.570 に答える