4

あるページから別のページに mysql クエリを安全に渡す方法はありますか?

基本的に、mysql クエリによって生成され、5 項目のみに制限されている項目のリストがあります。同じリストを表示するが 5 項目の制限がないページにユーザーを移動させる「詳細」リンクを下部に追加したいと考えています。通常、クエリを再作成するために使用できる一連のパラメーターを「詳細」ページに渡しますが、リストは多数の多様なクエリによって生成される可能性があるため、これは非常に困難です。

そのため、ある php ページから別の php ページに mysql クエリ全体を安全かつ簡単に渡す方法があるかどうか疑問に思っています。たとえば、リンクをクリックすると、ID が割り当てられたデータベースにクエリが保存され、その ID を次のページに渡すだけで済むようにする方法はありますか。

4

3 に答える 3

3

「あるページから別のページにクエリを渡す安全な方法」は、まったく渡さないことです。クエリをデータとして扱い、それらをページ間で受け渡すことは、誤ってセキュリティの脆弱性を作成する非常に良い方法です。

クエリを生成するためのロジックは既に存在するため、そのロジックを両方のページで利用できるようにするだけです。これは通常require()、共有コードを含むファイルを両方のページのファイルに ing することによって行われます。

または、クエリを既に生成しているページにオプションを追加して、アイテムのサブセットではなく完全なセットを表示するだけです。完全に別のページを用意する必要はありません。

于 2012-08-08T03:30:38.620 に答える
1

バックエンド領域を「エスケープ」することなく、セッションを使用してデータを渡すことができます。

クエリはさまざまな場所から発生する可能性があるため、データを任意の識別子キーでインデックス化し、それを URL に渡す必要がある場合があります。

アップデート

サイトが公開されている場合 (つまり、ログインが不要な場合)、セッションにより、他のユーザーと簡単にページを共有することができなくなります。

その場合、データベースを使用するか、コード ベース自体から (おそらく命名規則を使用して)、すべてのクエリを識別する方法が必要です。パラメータは、クエリ パラメータを介して送信されます。

于 2012-08-08T03:30:08.210 に答える
0

セッションを使用できない場合は、クエリを秘密鍵で暗号化し、base64 でエンコードして、ページの非表示の入力フィールドに入力します。

于 2012-08-08T03:31:40.373 に答える