問題タブ [suphp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - smarty および suphp パーミッション - 別のユーザーとして保存
現在、ファイルが保存されているディレクトリに777のアクセス許可を与える必要があり、「user1」として保存する代わりに、Apacheとして保存しています
-rwxrwxrwx 1 apache apache 6865 Aug 30 17:20 homepage.tpl.php
home/user1/public_html/ である私のドキュメントルートの外部で777の許可なしにファイルをuser1として保存するにはどうすればよいですか
/home/user1/private/homepage.tpl.php で言ってみましょう
suPHPでCentos LAMPを使用しています。
前もって感謝します。
apache - 共有ホスティングで php.ini で mod_rewrite を有効にする方法
私は最近、サイト mod_rewrite が機能しない共有ホスティングで自分のウェブサイトをホストしました。php.ini ファイルで mod_rewrite オプションを有効にするために、php.ini ファイルに追加する必要があるものがあります。
php - 共有ホスティングにsuexecまたはsuphpがあるかどうかを確認する方法
共有ホストにsuexecまたはsuphpがあるかどうかを確認する必要があります。私はこのドキュメントを見つけました:http: //www.alain.knaff.lu/howto/PhpSuexec/
このドキュメントの最後にテストがあります。テストを実行すると、次のように表示されます。
警告:3行目の/ home ..........で、セキュリティ上の理由からsystem()が無効になっています。
それをチェックする他の方法はありますか?(SSHアクセスがあります)
linux - Apache で .htaccess のオプションを無視する必要がある
私は私の学部で学生向けのホスティングサービスを運営しています。suPHP で PHP を実行します。セキュリティのために、シンボリック リンクを「SymLinksIfOwnerMatch」に設定する必要があります。
これには非常に残念なエラーがあり、htaccess に "Options FollowSymLinks" または "Options None" がある場合、内部サーバー エラーが発生します。
PHP 用の OSS ソフトウェアのほとんどのディストリビューション (Wordpress、Drupal、Joomla など) では、デフォルトで htaccess にこれが含まれており、htaccess-rules のほとんどのガイドでは mod_rewrite に必要なため、常に "FollowSymLinks" を推奨しているため、これは大きな問題です。 - SymLinksIfOwnerMatch でも同様に機能します。
誰かがこれと同じ問題を抱えていて、それを克服する方法を知っている人はいますか? 私は Apache に Options を完全に無視させたいと思っていました。デフォルトのもので十分です。
php - fopen() が失敗したときに意味のある情報を取得する (PHP/suPHP)
ファイルを開くことができないときに、「FALSE」よりも意味のあるものを取得するにはどうすればよいですか?
die
ステートメントを使用するcan't open file
と、クライアントに返され、ほとんど役に立ちません。削除してもエラーは発生しません。私が返すなら$fh
、それはFALSE
です。ローカルファイル名と絶対ファイル名の両方を試しました。私のindex.html
ファイルは、ホール フォルダのサブ フォルダの 1 つにあります。さらに、書き込みしようとしているフォルダーで suPHP を使用しています0755
(suPHP では、すべてのフォルダーにこれが必要です)。
問題が発生した理由を突き止める方法、またはファイルを開く前にクエリを実行する方法を教えてください。
php - すべてのサーバー要求を 1 つの php スクリプトに制限することは可能ですか?
とりあえず、自分のサーバーにアクセスできると仮定して、必要な index.html ファイルを作成できるようにします。サーバー上で 1 つの php スクリプトしか呼び出せないようにすることは可能ですか。たとえば、/var/www/
ディレクトリに次のスクリプトがあるとします。
できるようにしたい
だがしかし
注: これは に固有のものではなく、またはPOST
である可能性があります。GET
xmlhttprequest
これが必要な理由は、クライアントが index.html ページと php スクリプトを独自の UNIX アカウント (サーバー上) に保存する Web サイトをセットアップしているためです。彼らが独自の権限で php スクリプトを実行できるようにするために、私は suPHP を使用しています。user1がindex.htmlページ内から次を発行する状況を回避しようとしています
そして彼らは他人の機能を実行します。すべてのリクエストが通過しlogn.php
た場合、ユーザーのアカウント名/ユーザー ID を確認し、そのスクリプトの所有者である場合にのみそのスクリプトを呼び出すようにします。
php - suPHP と一緒にログインを実装する
ログインのような機能を suPHP のファイル許可を使用するように設計するにはどうすればよいでしょうか。たとえば、 に Web サイトがwww.example.com
あり、次の 2 人のユーザーが独自のホーム ディレクトリを持ち、それぞれに php scripttest.php
があり、ディレクトリ内validateUser.php
に別のユーザー (root、www-data、apache...) に属するスクリプトがあるとします/home
。
user1
user2's
にアクセスしてスクリプトにアクセスできwww.example.com/user2/test.php
、その逆も可能です。代わりに、 mod_rewriteのようなものを使用して、すべての受信リクエストをvalidateUser.php
. ただし、これを行うとvalidateUser.php
、ターゲットtest.php
スクリプトではなく、 の所有者としてすべてのスクリプトを実行することになります。
とにかく suPHP が作動する前に php スクリプトを呼び出してから、suPHP を続行させるか、完全に中止する必要がありますか?
編集これは私が立てている 2 番目の報奨金です。私が最初に Gustav b/c に渡したとき、彼は良い部分的な答えをくれました。私がこれまでに試みたことと、それらのどれもがうまくいかない理由について述べます。
1) mod_rewriteを使用して URL をリダイレクトしvalidateUser.php
、ユーザーをログインさせるか、呼び出したいスクリプトを呼び出してみました。問題は、各ユーザーが独自の仮想サイトを持つように仮想ホストを設定したことです (つまりwww.user1.example.com
、www.user2.example.com
...これが悪い設計アプローチである場合は、遠慮なく指摘してください)。したがって、OS はファイル構造を上記のように認識しますが、オンラインでは、ルート ディレクトリはそのように設定されます。
validateUser.php
当然のことながら、すべてのユーザーのディレクトリにのコピーを移動しました。問題は、ユーザーがそのファイルを削除して、ログインをまったく必要としないなど、必要なものをそこに入れることができるようになったことです。これを回避する方法は、ホーム フォルダーをスティッキーにし (ホーム フォルダーに対して行うことは決してお勧めしません)、validateUser.php
所有者をルートにすることです。ただし、これは suPHP であるため、AS root が実行されます。そこで諦めました。
2) Gustav のmod_auth
提案を使用することもできますが、前もってパスワードを要求するのは好きではありません (古い学校の Web サイトのように)。
3) 仮想ホスト間でリダイレクトできる場合は、1) のバリアントを検討しました。たとえば、次のように仮想ホストを再構築します
次に mod_rewrite を使用して、ユーザーからwww.admin.example.com/validateUser.php
のすべてのトラフィックを にリダイレクトします。ユーザーがログインしている場合 (またはログインが成功した場合)、ユーザーは最初にログインしようとしたサイトにリダイレクトされます。これの利点は、可能であれば、ユーザーが自分の仮想ホストに戻されるまで suPHP が開始されないことです。
logging - suPHP変数の値を検索します(つまり、$ {HOME}、$ {USERNAME}、$ {GROUPNAME}…)
500(内部サーバーエラー)が発生し続けますが、これはdocrootをに設定しているためと思われdocroot=${HOME}*
ます。${HOME}
問題の原因は何かと思われるので、「内部を覗き見」したいと思います。どうすればこれを行うことができますか、または少なくとも問題が発生したときにログに記録するすべての変数を書き込むことができます。
編集私は内の変数をサポートするsuPHPバージョン0.7.1-1を使用していますdocroot
編集${HOME}
ログファイル名に変数を追加して不正行為を試みました。簡単にするために、スラッシュが含まれている可能性があるため、${UID}
変数を使用しました。ファイル${HOME}
の以下の行を更新しました/etc/suphp/suphp.conf
次のファイルを取得します
まるで${UID}
変数が存在しないかのようです。
apache2 - 複数のユーザー用に Web サーバーをセットアップし、PHP スクリプトをユーザーのアカウントで (ユーザーのアクセス許可を使用して) 実行するようにします。
複数のユーザー (「開発者」プロファイルを持つ) 用に Apache 2.2 Web サーバーをセットアップしています。PHP スクリプト/アプリケーション (自作と取得の両方) を実行し、実行する必要があります。
*mod_userdir* を使用してみましたが、問題は Apache (したがってスクリプト) が "www-data" で実行されることです (私は GNU/Debian OS を使用しています)。
だから私は suPHP を見ましたが、それは *php_admin_value* Apache ディレクティブをサポートしていません。
apache2-mpm-itk も言及されていますが、仮想ホストを使用しており、それ自体が DNS を必要とします。委任を介してサブドメインを管理するWebサーバーにDNSサーバーをインストールする場合、その回避策が見られると思います(たとえば、WebサーバーのFQDNは「testsrv.mycompany.tld」で、ユーザーの仮想ホストのFQDNは「 user1.testsrv 」になります) .mycompany.tld "、" user2.testsrv.mycompany.tld ")。しかし、それは少し「多すぎる」かもしれませんか?
php - ubuntu 10.04サーバーでsuphpを無効にするにはどうすればよいですか
テスト目的でのみ使用するために、apache2とphpを備えた小さなubuntu 10.04サーバーをまとめました。suphp が邪魔をし続けています。間違いなく、これはセキュリティなどに役立つツールですが、現在、これはローカルのテスト場にすぎないため、ファイルの所有権などに関連するエラーが継続的にスローされるのを防ぐために無効にしたいと考えています.
タイトルにあるように、ubuntu サーバー 10.04 で suphp を無効にするにはどうすればよいですか。
ありがとう