問題タブ [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.

0 投票する
1 に答える
80 参照

php - suPHPを使用してHTMLファイル全体を返すことは可能ですか?

議論のために、ファイルのパーミッションを変更できないと仮定しましょう。さらに、すべてのファイルに次のような.html権限があると想定します。0700

したがって、ブラウザindex.htmlに入力するだけではファイルにアクセスできません。www.example.com/index.htmlただし、私にできることはrequire.php、メインのWebフォルダーにファイルを設定し、そのアクセス許可をに設定すること0755です。require.phpこのファイルが指定されたファイルを見つけて、.htmlその完全な内容を返すと仮定しましょう。また、suPHPを実行していると仮定します。次に、-require.phpの所有者としてrequire.php-を呼び出して、たとえば、のコンテンツをフェッチし、index.htmlそれを呼び出し元のブラウザに渡すことができます。require.phpサーバーサイドでファイルの内容を取得できることはわかっています。私が知りたいのは、ブラウザがロードするためにコンテンツをhtmlファイルとして返すことができるかどうかです。

0 投票する
2 に答える
389 参照

php - PHP を使用して html ページをロードすると、最新の css ファイルを使用しようとする試みが妨げられる

.html以外のファイルに対するユーザー権限があります0744。実際には、0700これを回避するように設定されています。suPHP をセットアップし、ファイルを使用してload.phpすべてのファイルにアクセスしてロードします。問題のファイルは単純な . html次のようなファイル:

test.html (0700) :

test.css (0744) :

load.php (0744) :

注: デバッグ目的で通常の 0744 アクセス許可に設定した css ファイル。

ページを入力http://www.example.com/load.php?page=test.htmlすると、検索が読み込まれます。test.cssただし、への変更が に適用されていないため、css ファイルがキャッシュから使用されていると思われますtest.html。行を削除すると

背景が再び白くなると変更が反映されます。ただし、cssファイルをたとえばに移動しtest2.css、スタイル (つまり、異なる色) を変更して代わりにリンクすると、変更は驚くほど適用されません。新しい名前にリンクせずに移動test.cssするとtest2.css(ファイルを削除するのと同様)、css効果は適用されます! 同様に、Ichmod test.cssを 0000 にすると、スタイル シートが使用されます。また、自分のマシンでローカルに.css開いているため、ファイルが破損していないこともわかっています。test.html

私は最も霧を持っていないので、誰かが何が起こっているのか分かりますか.

以下のMurray McDonaldの回答に従って編集し、304: Not Modifiedステータスコードに関係する問題を突き止めました。ファイルが明らかに変更されているのに、なぜこれが返されるのですか?

0 投票する
2 に答える
9162 参照

suphp - suPHP でユーザー/グループを仮想ホストに設定し、docroot を使用する

suPHP を機能させようとしています。チュートリアルに従って、正しくインストールされているようです。

今私の問題はこれです

1)ファイルに設定しましたがdocroot、デフォルトで設定されています。これに関する問題は、ドメインが別のディレクトリにも保存されていることです。たとえば、サブドメインをあるディレクトリに、通常のドメインを別のディレクトリに持っています。そのため、ドメインが構成に含まれていないディレクトリに解決されていることを示すエラーがブラウザーにスローされます。suphp.conf/var/www

suPHP_UserGroup2) VirtualHost 構成の下に設定された特定のドメインのユーザー/グループを設定する方法を知りたいです。

これは、私の問題をよりよく示すために必要な VirtualHost の例です。

Apache をリロードすると、次のエラーが表示されます。

私はこれで構成suPHPしました:

0 投票する
0 に答える
840 参照

.htaccess - htaccess、Suphp、および mod_rewrite の問題

fastAmazon というスクリプトを購入しました。開発者は、mod_rewrite を使用して従来のサーバー構成用に作成しました。

私のホスティング (site5) は、私が学んだ SuPHP を利用しており、php 構成ルールを htaccess から php.ini ファイルに入れる必要があります。簡単に言うと、php_flag をコメントアウトすると、最終的に読み込まれました。問題は、他のページに移動しようとすると 500 エラーが発生することです。この構成の何かが他のページの書き換えを許可していません。私にはそれがわかりません!

開発者は、おそらく [L] 行末と関係があると述べていますが、SuPHP 構成ではこれ以上役に立たないでしょう...

0 投票する
1 に答える
4322 参照

security - suPHP にはセキュリティがありますか?

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

また

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


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


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

0 投票する
1 に答える
559 参照

php - suPHPでのPHPセッションの実装についてサポートが必要

私はここで前にこの質問をしましたが、ユーザーCheekySoftは、「提案されたソリューションを実装する方法を尋ねている」と指摘しました。代わりに、「問題を述べてソリューションのアイデアを求める」必要があります。だからここに行きます。

Linuxサーバーでは、ファイルを次のように設定しています。

Apache仮想ホストをで設定している場合

次に、[任意の]ユーザーはwww.example.com/user1/index.htmlまたはに移動できwww.example.com/user2/index.htmlます。ただし、これらのファイルのアクセス許可は0700、したがって、Web経由ではアクセスできません。私がsuPHPを使用しているのはこのためです。

議論のためにindex.php、次のようなものだけが含まれているとしましょう

index.php:

これで、suPHPが設定されたので、user1は www.example.com/user1/index.phpviewに移動できますindex.html。同様に、user2は www.example.com/user2/index.phpviewに移動できますindex.html。ただし、user1はuser2のページを表示するために移動することでき、user2の場合はその逆も可能です。www.example.com/user2/index.phpindex.html

これに対処する自然な方法は、PHPセッションを使用することです。ページへのすべてのリクエストはメインページ(つまりwww.facebook.com)にリダイレクトされ、ユーザーはデータベースに対して検証されてから、正しいページにリダイレクトされます(下の画像を参照)。

ユーザーインタラクション図

ユーザーはページ(つまり)に移動し、有効なセッションが存在することを確認するためにハードコーディングされwww.example.com/page1.htmlたページ1の一部があります。存在する場合は、ページがロードされます。存在しない場合、ユーザーはこの場合はにリダイレクトされます。ログインして有効なセッションが確立されると、元のページにリダイレクトされます。これを実行するように変更できます。index.htmlindex.php

indexValidate.php:

ただし、私の設計では、これらのページ(page1.htmlpage2.html...)はユーザー自身のディレクトリ(index.htmlindex.php)にあるため、サーバーは、有効なセクションをチェックするこのハードコードされたセクションがあることを要求できません。ユーザーはファイルを編集するだけで、このセクションを削除できます。もちろん、これはユーザーの側ではばかげていますが、セッションチェックセクションが上部にあるように、ユーザーがファイルをすべて変更する必要はありません。これをシームレスにしたいと思います。

いくつかの注意:

  1. Apacheを使用して、すべてのリクエストを単一のvalidateUser.phpスクリプトにリダイレクトできます。このスクリプトは、ユーザーを検証し、有効な場合は、リクエストされた元のスクリプトを呼び出します。ただし、これには、suPHPがすでにユーザーに切り替えられているという副作用があります。var-www
  2. ApacheWebログイン認証を使用したくない

誰かが私の問題の解決策を提供できますか?

0 投票する
3 に答える
1970 参照

apache - Apache で他のユーザーのフォルダに入ることができない

suPHP 用の PHP セッションをセットアップしようとしています (こちらを参照)。suPHP が開始されたときに正しいユーザーに対して実行されるように、php 検証ファイルをユーザーが所有する必要があります。ただし、ユーザーがそのファイルにアクセスできるようにしたくありません。実際にデータベースをチェックするのではなく、true を返すように編集できるからです。

私の最初の試みは次のようなものでした(Apacheが user として実行される場合www-data

次に、Web ページを検証ページにリダイレクトし、検証してから戻ります。/var/www/user1/index.html

しかし、suPHP は、自分の docroot ( /var/www/user1) の外にある何かにアクセスしていると不平を言います。docroot を に設定してファイル/を更新したくないので、修正されません (これを修正するつもりはありません)。したがって、代わりに私はそのように移動しました(少し面倒です、私は知っています)suphp.confcheck_vhost_docroot=false/etc/validate/var/www

したがって、検証ファイルは

  1. docroot 内
  2. user1 が所有
  3. user1 は編集できません

しかし、ページを読み込もうとすると、次のエラーが表示されます

この時点で私は忍耐力を失っているので、そこに別のダミーフォルダーを貼り付けて、ファイル構造が次のようになるようにします

ページを読み込もうとすると、Apache から「このサーバーの xyz にアクセスする権限がありません」と表示されます。xyz私のドメイン名の後に来るものはどこですか. 後続の値にファイル/フォルダーとしてアクセスしようとしていないため、Apache が私にそう言っている理由がわかりません。リダイレクトが失敗していると思います.Apacheは、失敗しているのはハードリンクであると想定しています。

私が間違っていることを誰かに教えてもらえますか、またはユーザーが自分のファイルを編集できないようにする別の方法を提供してもらえますか? ディレクトリに入ることができませんでした。これdummyは、そのアクセス許可がrwx------あり、ディレクトリにのみ入ることuser1ができcdたためです。権限を から に変更する07000755、suPHP エラーに戻りました。そこで問題は次のようになります: suPHP のアップステージ ディレクトリの 1 つが他の誰かによって所有されている場合、どのようにすれば suPHP にスクリプトを実行させることができるでしょうか?


編集: Apacheが不平を言っている理由がわかりました。入り込めなかった

0 投票する
1 に答える
4764 参照

performance - DSO、FCGID、またはSuPHPとxCacheとしてのPHPを使用したメモリとパフォーマンス

この質問は少し長く具体的かもしれませんが、私は約1か月間、次の質問に対する決定的な答えを見つけようとしてきましたが、決定的な情報はまだ見つかりません。これと同じくらい具体的な質問を一般化するのは難しいです。もし私が同様の質問に出くわしたとしたら、特定のサーバー構成が私のものと異なっていたとしても、それは有益だったでしょう。

私のサーバーはcPanel(WHM)を実行しているVPSであり、PHPモードはSuPHPです。サーバーには768MBのRAMがあり、約12のWebサイトをホストしています。非常にメモリを大量に消費するものもあれば、メモリやCPUをほとんど使用しないものもあります。

私は最近、顧客の1人にMagentoストアをインストールし、それ以来、パフォーマンスを向上させるためにさまざまな設定を試してきました。xCacheをインストールし、PHPをFCGIDまたはDSOとして実行するように構成するまで(xCacheはSuPHPで機能しないため)、実際には何も役に立ちませんでした。この構成により、パフォーマンスが2/3向上しました(つまり、ページの読み込みが約3倍速くなります)。

唯一の欠点は、数分後にサーバーのメモリが不足し、サーバーをハードリセットする必要があったことです。これでSuPHPに戻り、問題はありません。

xCacheを無効にして、SuPHPではなくFCGIDまたはDSOモードのみを残した場合でも、サーバーは約30分ほどでメモリを使い果たしました。したがって、原因は、SuPHP以外のPHPとして実行されているようです。

また、別のWHM定義ユーザーから新しいフロントエンドURLを開くと、メモリ使用量が大幅に増加することに気付きましたが、同じWHMユーザーアカウントから複数のURLを開くと、使用量はほぼ一定であるように見えました。

その時点で:

  • PHP + xCacheが安定して動作し続けるようにするにはどうすればよいですか?それとも、メモリを追加購入する必要がありますか?
  • SuPHP、DSO、FCGIDのメモリ使用量の違いは何ですか?いくつかのphp.ini変数を変更することでこれを微調整することは可能ですか?

また、xCacheを使用するように他のサーバーのいくつかを更新することを検討しています。次のサーバーには、どのような設定とPHPモード(SuPHP、DSO、またはFCGI)とxCacheをお勧めしますか?

  • クアッドコア@2.4Ghz、cPanelとWHMを備えた1つの巨大なMagentoストアを備えた4GBRAM専用サーバー
  • クアッドコア@2.4Ghz、cPanelとWHMを備えた約20の大規模なMagentoストアを備えた8GBRAMサーバー
  • クアッドコア@2.66Ghz、100以上のJoomlaのようなWebサイトを備えた8GB RAMサーバー、cPanelおよびWHMを備え、メールマンを有効にした電子メールサーバーとしても機能します。
0 投票する
2 に答える
798 参照

macos - 囲んでいるフォルダーの所有者とアクセス許可を Git に強制的に使用させるにはどうすればよいですか?

サーバーに変更をプルすると、変更されたファイルへのグループ書き込みアクセスが自動的に追加されることに気付きました。ただし、500 エラーの原因となる suPHP を使用しているため、Git リポジトリが持つ可能性のあるアクセス許可と所有権を無視し、フォルダー自体が持つ適切なアクセス許可に置き換える必要があります。

編集: suphp は、ユーザーのファイルを変更から保護するために、ファイルに対して 644、ディレクトリに対して 755 の最大権限を必要とします。Suhosin で動作する PHP へのパッチです。

私はローカルホスト環境で作業し、ステージングにプッシュします。ステージングは​​本番環境のクローンであるため、エラーが発生します。