1

しばらく前にこの質問をしましたが、いくつかの報奨金を出しましたが、あまり答えが得られませんでした (こちらを参照)。より一般的には、suPHP にセキュリティの概念があるかどうか知りたいですか? 誰もが行くのを止めるものは何ですか

www.example.com/rm-f-r.php

また

www.example.com/return_some_iamge.php

これらのスクリプトはユーザーの権限で実行されるため、基本的にアクセスが保証されます。


編集上記について詳しく説明すると、私の問題は概念的なものです。にファイルがあるとします/home/user/test.php。このファイルに何でもさせます ( rm -f -r /、画像をフェッチして返す、コンピューターを再起動する...) ブラウザーでそのファイルを参照した場合 (含まれているフォルダーが Apache で有効なサイトであると仮定)、ブラウザーに、そのファイルの所有者はそれを実行しますか?


編集 2: suPHP は apache (つまり、Web ブラウザー) でのみ使用されると想定しているため、これを明示的に述べたことはありませんが、ブラウザーのみで Linux ユーザーを認証することについて話しているのです。認証を行わない場合、技術的には誰でもサーバー上の任意のスクリプトにアクセスできます (Web サイトでは、アクセス許可が常に に設定されているため、これは問題ではありません0644。つまり、基本的に全世界が見ることができます。一方、PHP ファイルには、パーミッションは通常 ) に設定され0700ます

4

1 に答える 1

4

suPHP には、.phpファイルを作成したユーザーの許可を得て PHP ランタイムが実行されるという効果があります。つまり、PHP プログラムの作成者は、自分が所有するか、アクセスできるファイルのみを読み書きできます。

Web サイトに PHP ファイルを配置すると、Web サイトにアクセスするすべての人がそのファイルを公に実行できるようになります。suPHP を使用しても、これは変わりません。サイトにログインしないと、すべての Web ユーザーは事実上匿名になり、個人を確実に識別する方法はありません。suPHP は、実行時にスクリプトが持つローカル権限のみを制御し、Web ユーザー認証または承認の形式を導入する意図はありません。

実際にスクリプトを実行できるユーザーを制御したい場合は、何らかのログイン機能を実装し、ユーザーにサイトへのログインを強制する必要があります。次に、機密性の高い PHP スクリプト (または Apache 構成) にチェックを追加して、現在ログインしている Web ユーザーがそのスクリプトを実行したくない場合に、要求を中止します。

于 2012-03-02T12:27:21.180 に答える