PHPを使用して画像のアップロードをどのように処理する必要がありますか?
chmod設定はどのように処理すればよいですか?
例;
すべての画像をアップロードしたい/image/というディレクトリがあります。
このディレクトリをchmod777に設定し、そのままにしておく必要がありますか?または、画像をアップロードする必要があるたびに、PHPを介してそのフォルダーのchmodを変更する必要があります。これは正しいですか、それとも私は何か他のことをするべきですか?
PHPを使用して画像のアップロードをどのように処理する必要がありますか?
chmod設定はどのように処理すればよいですか?
例;
すべての画像をアップロードしたい/image/というディレクトリがあります。
このディレクトリをchmod777に設定し、そのままにしておく必要がありますか?または、画像をアップロードする必要があるたびに、PHPを介してそのフォルダーのchmodを変更する必要があります。これは正しいですか、それとも私は何か他のことをするべきですか?
phpdeveloperが述べたように、chmodを1回設定するだけで十分です。そのディレクトリへの後続のすべての書き込みは、別の場所で別のアクセス許可に明示的にchmodしない限り、ディレクトリのアクセス許可を変更しません。
*nixサーバー上のディレクトリーに推奨される許可は755です。許可を777に設定することはお勧めしません。wicが述べたように、サーバーにアクセスできるすべての人に完全なアクセス許可を与えます。これにより、共有ホスティングを使用している場合やサーバーを他のユーザーと共有している場合に脆弱になります。
また、サーバー上でPHPがどのように実行されるかにも注意してください。実際、PHPをcgi(例:suphp)として実行している場合、ディレクトリに対する777の権限は許可されていません。スクリプトが存在するディレクトリに777のアクセス許可があると、実行されず、代わりに、スクリプトを実行しようとすると「500内部サーバーエラー」が発生します。
755 への chmod をお勧めします
Webサーバーdameonを実行しているユーザーのみが、書き込み用のディレクトリへのアクセス許可を必要とします。また、ユーザーがアップロードしているディレクトリに対する実行権限は必要ありません。
通常、フォルダ設定は一度設定するだけです。既に 777 に設定されている場合に、PHP 経由でフォルダーのアクセス許可を 777 に設定し続けるのはかなり無意味です。
いいえ、毎回ディレクトリのアクセス許可を変更する必要はありません。設定すると、いわば設定されます。
777 を使用すると、全員に完全な権限が付与されるため、やり過ぎです。「x」ビットを削除し、apache (または誰でも) がディレクトリを所有できるようにします。これにより、ファイルを一覧表示できなくなります。