3

私は、おそらく 1000 から 2000 人のユーザーを持つかなり大きな会社のために、MySQL/PHP 発券システム アプリケーションを構築しています。これは私にとって初めての本格的なエンタープライズ アプリケーションであるため、ベスト プラクティスに基づいて適切に実行できるようにしたいと考えています。私はいわゆるベテラン開発者ではありません。私はコードを書いてそれを機能させる方法を知っていますが、自分の仕事を修正するメンターや誰かがいたことがないので、自分のやり方が良いのか悪いのかわかりません.

システムには 4 つのアクセス レベルがあるため、アプリケーションはユーザー セッションからこれらを読み取る必要があります。パートナーはバックエンドの DB プログラミングを担当し、私はフロントエンドのインターフェースを担当しています。私は過去 6 か月間、純粋な Jquery を使用して小さなツールを作成してきました。そのため、Jquery の大ファンになり、Jquery を使用すると非常に迅速に処理できることがわかりました。インターフェースの仕事では、私はそれが大好きです。ただし、セッション管理は PHP でのみ行うことができます。

同じページに JS と PHP のビットを含めることができるので、これは必ずしも問題ではありませんが、必要がなければ含めたくないのです。たとえば、私のログイン ページは、PHP ログイン Web サービスに ajax リクエストを行う単なる JS/HTML です。処理タスクを PHP に委任できるときはいつでも、AJAX 呼び出しで使用できるサービスを作成することを好みます。

ただし、セッションを処理する必要がある場合は、それができるとは思いません。それともできますか?これに関連するベスト プラクティスについて、専門家の皆様からのご意見をお待ちしております。

よろしくお願いします。

4

3 に答える 3

0

個人的には、JavaScript にセッションを認識させたくありません。ページの作成時に PHP でパーミッション制御が行われます。アクセス制御に基づいて、ページの一部を非表示にすることを選択できます。そうすれば、インターフェイスはパーミッションをまったく気にする必要がなく、現在ページにあるもので機能します。

PHP は通常、Cookie を使用してセッションを伝播します (HttpOnly オプションの使用をお勧めします)。これらは AJAX 呼び出しで JavaScript によって透過的に使用されるため、セッションは期待どおりに機能するはずです。

Cookie をサポートしない (または拒否する) ブラウザーをサポートする必要があり、AJAX を使用したい場合は、他の方法を見つける必要があります。スクリプトは、AJAX 呼び出しを行うときに、POST、GET、または特別な HTTP ヘッダーを介して渡すことができます。

于 2012-08-01T08:56:29.140 に答える
0

手始めに、いくつかの PHP フレームワークを使用して、それらが JS をどのように処理するかを確認する必要があります。

Yii フレームワークをお勧めします。

于 2012-08-01T08:43:37.113 に答える
0

セッション管理がアクセス制御を意味する場合、AJAX呼び出しなどで必要な情報を取得する限り(実際には他の方法は見られません...)、サーバー側はアクセスなどを処理できるはずです大丈夫。サーバー側で一般的なステータス コード (400、401、403 など) を使用する場合は、jQuery がそれらを適切に処理することを確認するだけで、作業は簡単になります。

  • 私が見ることを許されているチケットを私にください。申し訳ありませんが、401 にログインする必要があります。
  • 今ログインしました。わかりました、これがあなたが利用できるチケットのリストです。
  • チケット番号 56 を見たいです。申し訳ありませんが、403 は見ることができません。
  • このコメントをチケット番号 42 に追加したいと思います。申し訳ありませんが、400 さんの入力に何か不足があります。

サーバー側では、必要に応じて常にアクセスをチェックすることを忘れないでください。ユーザーにアクセス権が必要な場合でも、ユーザーがアクセス権を持っていると想定しないでください。チェックしてください:)

とにかく、それはセッション管理の意味に依存するので、ここから離れている可能性があります...

于 2012-08-01T08:57:14.587 に答える