私が取り組んでいるWebアプリケーション向けのカスタム電子商取引モジュールを作成しています。ユーザーには、ドメインにホストされるサイトのモジュールを作成する機会を与えます(例:http://example.com
)。API PHPによるAJAX - APIへの安全なアクセスの作成
このモジュールには、ユーザーのアカウント管理パネルへのJavascriptインターフェイスがあります。管理パネルにアクセスするには、アカウントでWebアプリケーションにログインする必要があります。
商品を追加したり、電子商取引の設定(通貨など)を変更したりすることができます。商品が追加されたり、何かが変更されたり、URLをユーザのドメインに呼び込んだりすると、ディスパッチャはPHP関数を呼び出します、商品の削除など)を行い、データベースを変更しますが、処理されたURLを知っている人は、REST APIクライアントを使用して情報を送信できます(製品IDを商品削除アクションに送信するなど)。誰かがクライアント製品を削除したり、一部の電子商取引設定を変更したりする可能性があるため、そのようなことを防ぐ必要があります。
API URLが呼び出されたときに、SESSION
に格納されたトークンを使用して、AJAX呼び出しにトークンを戻し、指定されたトークンを使用して別のAJAX呼び出しを実行しました。関数が呼び出されると、両方のトークンが比較され、同じ場合は変更が許可されます。さもなければ、それらは拒否されますが、外部からのAPIへのアクセスを防ぐためにこれが "良いセキュリティ"であるかどうかはわかりません。アクセストークンを取得するためにURLを呼び出す必要があることを知る方法を「見つける」ことができるため、指定されたトークンで別の呼び出しを行い、破壊を実行します。
ありがとうございます。任意の情報や提案をいただければ幸いです。
よろしくお願いいたします。
[暗号ノンス](https://en.wikipedia.org/wiki/Cryptographic_nonce)の使用について詳しくはこちらをご覧ください。一意のセッショントークンを使用して、あなたがすでにやっていることに加えて。 – apokryfos