0

ここで例を参照してください: http://mattpotts.com/portal/

includeme.htm必要なパスの各ディレクトリにを配置して、障害点を見つけました。同じディレクトリ構造を持つローカル マシン (Windows) では正常に動作しますが、リモート (Linux) サーバーでは失敗します。

ディレクトリ構造:

+-firefli/                 drwx--x--x
  +-private_html/          drwx------
    +-foo/                 drwxr-xr-x
    +-bar/                 drwxr-xr-x
    +-portal/              drwxr-wr-w
  +-public_html/           drwxr-wr-w
    +-foo/                 drwxr-wr-w
    +-portal/              drwxr-wr-w

private_htmlアクセス許可は、それが問題の原因となっているディレクトリであることを確認します。ディレクトリ構造の目的を理解していただければ幸いです。これが一般的な方法かどうかはわかりませんが、私にとってはうまくいきます。さて、今まで。

私はそれを尋ねるのに非常に長い道のりを歩んできましたが、私の質問は単にこれです: に設定private_htmlすることに何か問題がありますdrwxr-xr-xか? Web経由でアクセスできるようにしたくないことを考えると。しかし、許可はそうすべきではありませんか? public_htmlhttp経由でディレクトリにアクセスできるようにするのはapacheだからです。

4

3 に答える 3

3

You shouldn't need to block out web users with folder/file permissions on private_html, as it's outside the web root. As you say, web users can only get to stuff in public_html

For future debugging speed, if you have a relative web path you can convert it to a real path using realpath:

$path = realpath('../../private_html');
// $path is now /public_html/foo/private.html or whatever
于 2010-01-04T23:08:41.373 に答える
1

DocumentRootを指すように正しく設定していれば、public_htmlどのような権限を設定しても、Web からアクセスすることはできません。

プライベート HTMl は、リダイレクトする .htaccess ファイルを配置しない限り、Web からアクセスできません。それが何を意味するか/どのように行うかがわからない場合は、安全です。

これらのアクセス許可を、スクリプトが必要とするものに設定しても問題ありません。

于 2010-01-04T23:07:22.530 に答える
0

は何のuser:groupためprivate_htmlですか?Web サーバーは、グループのメンバーであるか、ファイルの所有者である必要があります。ディレクトリの内容を読み取るにはexecute、Web サーバーがディレクトリを開くためのアクセス許可がディレクトリに必要です。user:group基本的に、それらは と同じでなければなりませんpublic_html。許可を拒否したいだけですwrite。彼のウェブサーバーに。ドキュメント ルートを に設定しpublic_html private_htmlた場合、権限に関係なく Web 経由でアクセスできません。realpathまた、ファイル操作へのパス引数で常に使用します。

于 2010-01-04T23:20:07.867 に答える