1

私の意見では、ajax は、リンクをクリックしたりフォームを送信したりせずにリクエストを実行するのに優れています。ただ、セキュリティの問題か、考えすぎなのか心配です。ajax では、javascript は誰でも見ることができ、php は Web 経由でアクセスできます。ユーザーがphpスクリプトを直接呼び出したり、htaccess制限などをバイパスしたりすることは可能でしょうか.

私の目標を達成するための 3 つのオプションがあります (新しいオプションの提案は高く評価されます)。

オプション A: ページ -> ボタンをクリックして ajax を呼び出す -> ページに表示

オプション B: ページ -> ルート ディレクトリに php ファイルを含める -> ボタンをクリックして非表示の div (10 mysql 行の下) を表示 -> ページに表示

オプション C: ページ A -> ボタンをクリックしてページ B にリダイレクト -> ルート ディレクトリに php ファイルを含める -> 複数のページで結果を表示 (1 ページあたり 10 以上)

オプション A は私には良いと思いますが、あまり安全ではないようです。mysqlテーブルの値を上書きして決闘する場合、答えは同じでしょうか(より多くのセキュリティの問題が懸念される必要があります)?

- - - - - アップデート - - - - - -

私は現在オプション C を使用しており、リクエストを受け入れるために ajax を使用しており、ページ B に表示されている結果に基づいてリクエストを拒否しています。 Ajax は、Ajax のセキュリティ問題の短所を打ち負かしました。セキュリティの問題に応じて、Web 構造を調整および改善する必要があります。

4

2 に答える 2

0

ajax では、javascript は誰でも見ることができ、php は Web 経由でアクセスできます。ユーザーがphpスクリプトを直接呼び出すことは可能でしょうか?

はい、それは単なる HTTP リクエストです

htaccess制限などをバイパスします。

Ajax リクエストでヒットする URL に、保護したい他のページと同じ制限を設けた場合は、そうではありません。

于 2013-07-25T09:31:58.063 に答える
0

誰かがあなたの JavaScript コードを見て、AJAX 呼び出しへの URL を取得するのを止めるものは何もありません。

ただし、セキュリティが大きな問題である場合は、セッション変数と値の保存方法を調べてください。ファイル、データベース、クッキーがあります。セッション変数は訪問者がアクセスできるため、php がセッション変数を Cookie に保存することは望ましくありません (通常の Cookie のように保存されます)。

セッション値を設定し、AJAX リクエストが行われたときにセッション値も設定されているかどうかを確認します。その場合は、通常どおり続行します。そうでない場合 (そしてセッションがタイムアウトした可能性がある場合) は、何もしません。

于 2013-07-25T03:59:39.793 に答える