0

私が構築しているPHPサイトでは、Prototype AJAX呼び出しを使用して他のphpページに対処しています。この呼び出された php ページには、最初のページで SESSION 変数として存在する変数が必要です (そのページ全体で複数回使用されるという意味で)。

それは他の何よりも好奇心ですが、もしあれば、変数を渡す両方の方法のどちらが望ましいですか:

  • 呼び出されたページで、セッションを開始し、そこから必要な var を取得する、または
  • AJAX 呼び出しで、セッション変数を POST パラメーターとして渡します。

そのため、ページ間で POST var を渡すのと、セッションから var を取得する (session_start() などを追加する) 場合の「コスト」が高いかどうかに興味があります。

4

4 に答える 4

3

値にセキュリティ上の問題がない場合は、GET または POST メソッドを介して渡します。値にセキュリティ上の問題がある場合のみ、またはユーザーが (プロキシまたはインジェクションを介して) 値を変更してから SESSION を使用すると、深刻な問題になる可能性があります。

于 2009-01-08T17:21:52.863 に答える
0

私は実際にあなたの質問に対する答えを探しています。

Bu これは私が見つけたものです: 変数が最初のページのセッションにある場合、これは、「呼び出された ajax」ページで session_start() を呼び出すことができないことを意味します。私が気付いていない回避策がない限り?

于 2009-03-11T16:27:50.803 に答える
0

POST メソッドを使用すると、サーバー側で記憶される状態が少なくなるため、サーバーを簡単にクラスター化できますが、潜在的に機密性の高いデータをクライアントに送信するという犠牲が伴います。

セッション メソッドを使用すると、サーバーとクライアント間で通過する帯域幅が少なくなりますが、複数のフロントエンド Web サーバーにまたがってスケーリングするのは難しくなります。

于 2009-01-08T17:16:27.087 に答える
0

セッションを使用するといいでしょう。
リクエスト ヘッダーでセッション ID を送信するオーバーヘッドがすでに発生しているため、それを利用することもできます。とにかく膨大なオーバーヘッドではありませんが、少量のデータを投稿することもありません。
データを投稿するには、クライアント側でもデータを使用できるようにする必要があります。それがクライアント側にデータがある唯一の理由である場合、不必要にスプーフィングに対して無防備なままになっています。
セッションを使用している場合、負荷分散されたサーバー全体のスケーラビリティが問題になる場合は、とにかく対処する必要があります。
したがって、セッションが機能している場合は、それらを使用してください。

于 2009-01-08T20:28:36.107 に答える