PHPファイルを使用したアクセス許可のベストプラクティスは何ですか?それらはいつ書き込み可能または実行可能になりますか?最高の所有者は何ですか?
Apacheサーバーを使用しています。
PHPスクリプトは、所有者が編集可能で、Apacheユーザーが所属するグループが読み取り可能であり、オプションで誰でも読み取り可能でなければなりません。それらは実行可能である必要はありません。理想的には、ほとんどのphpスクリプトはWebアクセス可能なフォルダー、特に構成ファイルの外部にある必要があります。これにより、Apacheの構成に問題がある場合でも、phpファイルがWebに公開されることはありません。多くの場合、web.accessibleフォルダー外の保護されたディレクトリ内のスクリプトでrequire_once()を呼び出すindex.phpページがあります。 .htaccessファイルは、すべての着信要求を書き換えてindex.phpを通過させ、保護されたディレクトリ内のルーターを使用して、何を処理するかを判断します。
PHPの役割とファイルシステムを混同している可能性があります。 PHPには、読み取り、書き込み、または実行可能権限がありません。これらは、基礎となるファイルシステム(ext4、NTFSなど)によって処理されます。
is_writable() や is_readable() などのPHP関数を使用して、特定のファイルのパーミッションを決定したり、 chmod( ) それらを変更します。
基本的に、PHPのファイルに書き込もうとするほとんどの関数/メソッドには、次のような考え方が必要です。
function writeSomething( $file )
{
if ( !is_writable( $file ) )
{
// attempt to make it writable
if ( !chmod($file, 0777) )
{
// could not make file writable
// log the error....
return false;
}
}
// perform the writing here..
}
次のような古典的なPHPエラーを表示するよりも、常に「問題がありました」などのカスタムエラーを表示する方が良いため、ファイルにアクセスする前にファイルにアクセスできることを確認することをお勧めします。 "ファイルに書き込めません..."または何か...
私が助けてくれることを願っています!
フォルダの場合は755、PHPおよびその他のファイルの場合は644。
PHP自体はスクリプト言語です。 Webフォルダー内の最適なファイルアクセス許可について(op)知りたいと思います。
これは、使用しているサーバーで何を達成しようとしているのか、どのリモートユーザーがアクセスできるようにするのかなどに大きく依存します。
PHPスクリプトを介してWebページを公開する目的のみでサーバーを使用している場合、ファイル許可755はうまく機能します(655ではなく)。PHPファイルの所有者は他の世界(ユーザーが所属するグループを含む)がファイルを読み取り、実行することのみができる間、それを完全に制御できます。
セキュリティを強化するには、ファイルのアクセス許可711を使用して、世界がせいぜいファイルのみを実行できるようにします。また、Apacheサーバーに機能を追加して、すべてのリクエストでユーザーを切り替え、さらにセキュリティを強化することを検討してください。これにより、mod_ruid2モジュールやsuPHPモジュールなどを追加することになります。
Cpanelで一般的に使用される権限は次のとおりです。
0655は最高の許可レベルです。これ以上ファイルを変更する理由はありません。もちろん、いくつかの書き込み許可を必要とするフォルダーがここまたはそこにあるかもしれませんが、それ以外の場合はすべて0655が機能します。
ヒントとして、すべてのファイルがApacheによって所有されていることを確認してください。サーバーにファイルをftpした場合、これは簡単に変更できます。そのため、本番サイトの場合は必ずApacheに設定してください。これにより、このようなタイトなシップを実行する際の多くの許可の問題が解消されます。