2016-08-27 9 views
1

私のPHPファイルフォルダとは異なるフォルダにあるファイルの内容を置き換えようとしています。「ストリームを開くことができませんでした。アクセスが拒否されました」PHPを使用してput_file_contentsをユーザに拒否した場合のエラーはありませんか?

私はput_file_contentsファイルの内容を変更する機能。私はこの問題の解決方法をオンラインで検索し、ファイルディレクトリは所有者/ユーザーによってのみ書き込まれることが認められています。私はfilezilla(ftp)のディレクトリプロパティをチェックし、ディレクトリがグループまたはパブリックで書き込み可能でないことがわかりました。

filezillaでは、ディレクトリをpublicで書き込もうとしましたが、phpファイルはそのフォルダのファイルに書き込めました。

したがって、私はディレクトリだけでなくファイルのみにアクセス許可を簡単に設定でき、アクセス許可を書き込み可能に設定することでコンテンツを簡単に置き換えることができると思います。私はオーナー/グループ/パブリックオプションの意味を理解していませんが?これは、有償のドメインホストでホストされているWebサイトのWebサーバーであると思われます。公開書込みオプションが安全かどうか、または単一のWebサイトのみをホストするWebサーバーのユーザーグループがあるのはなぜですか?

Webサーバー上のコンテンツを変更できるのはPHPファイルだけなので、Webサーバーに公開オプションが提供されているのはなぜですか?アップロード用の場合は、アップロードページがサーバー上にあることを意味します。私はftpやcpanelの端末にアクセスできないので、chmodなどを実行することはできません。

パブリック書き込み権限を持つファイルにセキュリティリスクに関する詳細を提供できますか?

+0

あなたのサイトが共有ホスティングにある場合、パブリックアクセスは深刻なセキュリティ問題を引き起こす可能性があります。 – Ahmad

+0

あなたには許可されていない理由があります。あなたはPHPでそれを解決することはできません、あなたはアクセス権の問題を修正する必要があります。 –

+0

は、ファイルを削除し、その代わりにPHPファイルへのアクセス権を使って再度書き込む方法はありますか? – mk117

答えて

0

サーバは、いずれかのコンピュータのように、依然としてコンピュータです。つまり、複数のユーザーを作成でき、多くのことが起こる可能性があります。

サーバーが必ずしもWebサーバーだけであるとは限りません。もちろん、FTPサーバでもあり、おそらくsshを使ってアクセスすることもできます。将来、あなたは別の目的のためにそれを使いたいかもしれません。

いずれにしても、Webサーバーと同じように使用する場合でも、すべてのユーザーに書き込み権限のあるフォルダのアクセス許可を設定することは、コードには必然的に生じるセキュリティリスクのため危険です。それはセーフガードとして機能することができます:将来あなたが危険なものを書いたとしても、それにはダメージが含まれています。

これは、一部のシステムでは、httpリクエスト(通常はApache)を処理するソフトウェアが特定のユーザーのhttpdとして実行される理由です。

ユーザーグループは定義されたユーザーグループです。あなたは簡単にオンラインで読むことができます。

+0

こんにちは! [この回答](http://stackoverflow.com/questions/2900690/how-do-i-give-php-write-access-to-a-directory)はファイルのアクセス権の問題を解決しますか?また、スクリプトを実行した後でファイルを置き換えると、ファイルのアクセス権は引き続きPHPスクリプトに与えられますか? – mk117

関連する問題