0

過去に jQuery で HTML を書いたとき、特定の PHP ページにアクセスするために、私はいつも次のようにしていました。

user.php?Action=1&User=Adrian.....

これにより、jQuery が JavaScript オブジェクトに変換するプレーン テキストの JSON が返されます。ただし、この方法についていくつか質問があります。

  1. これは安全ですか?JSON はプレーン テキストで返されます。HTTPS 経由で使用する必要がありますか?
  2. PHP への直接アクセスを防ぐ最善の方法は? アクティブなセッションを確認するだけですか?
  3. このアプローチ全体は大丈夫ですか?

乾杯、 エイドリアン

4

3 に答える 3

1

2番については、あなたが何をしているかによって異なります。

「user.php」ファイルを使用して DB に変更を加える場合は、GET ではなく POST を使用することをお勧めします (これにより、URL バーからパラメーターが隠され、ページがクロールされても安全です/削った)。

POST を使用するには、user.php ファイルで のインスタンスを に置き換え$_GETます$_POST

jQuery Ajax 呼び出しで、パラメーター「type」が「POST」に設定されていることを確認します。

type: "POST",

GET リクエストは、データ モデル (DB など) からデータを取得して表示するためだけに使用する必要があります。POST 要求は、更新、追加 (厳密には PUT)、または削除 (DELETE) を行うためのものです。

その特定のユーザーのみが user.php スクリプトにアクセスできるようにする場合は、ユーザーのセッションをチェックして、特定のユーザー パラメータにアクセスしようとしているユーザーと一致することを確認します。

于 2012-08-28T23:55:17.113 に答える
0

1) 転送する内容によって異なります。HTTPS 経由でクレジット カード データを転送する場合は、間違いなく. 機密性の低いデータを転送している場合は、おそらくそうではありません。

2 および 3) $_GET 変数の場合と同様に、SQL インジェクションの入力を確認してください。通常の $_GET データの扱い方を実際に扱う必要があります

于 2012-08-28T23:49:50.680 に答える
0

user.phpJSON/crud アクセスを許可するときはいつでも、それを提供する PHP ページ ( ) をセッションベースのアクセス制御ルール (ロールベースまたはグループベースのアクセス許可) の背後で常に保護してきました。次に、ユーザー/グループ/ロールがアクセスできるテーブル/フィールドをホワイトリストに登録します。洗練度のレベルは、提供されるデータの性質によって異なります。

于 2012-08-28T23:55:02.427 に答える