3

PHP が要求の証明書、特に証明書と CA の Web サイト名を取得することは可能ですか?

PHP ファイルへの呼び出しは、AJAX 呼び出しを介して Web サイトからのみ行うことができることを確認したいと考えています。このような:

  1. ユーザーが自分の Web サイトにログオンし、その後のやり取りに https を使用する
  2. ユーザーがページを読み込むhttps:// domain/mypage.php
  3. https:// domain/mypage.phpへのAJAX呼び出しがありますhttps:// domain/getinfo.php

getinfo.php で、リクエストの証明書の詳細を確認して、リクエストが自分の Web サイトから行われたものであることを確認したいと考えています。

可能?

4

2 に答える 2

0

私の getinfo.php への呼び出しが私の Web サイトからのものであり、URL にアクセスするだけで私の (非常に高価な) データを盗もうとしている誰かからのものではないことを確認しようとしています。

あなたのウェブサイトにアクセスしているクライアントからあなたへの呼び出しがgetinfo.php行われるようにしたいということですか? それは一種の重要な違いです。「あなたのサイト」はリクエストを発信するのではなく、サイトにアクセスするクライアントが発信します。また、クライアントがリクエストを送信しているときにサイトを開いているかどうかを検出することは不可能ですが、各リクエストは他のリクエストとまったく同じように見えます。

クライアントがサイトを開いたときに受け取ったはずのトークンをリクエストで送信するようにクライアントに要求できます。通常、これは Cookie やセッション ID です。有効な Cookie/セッションがなければ、クライアントに応答しません。

それでも、実際にページを開かなくてもデータをスクレイピングすることは完全に可能です。Cookie を取得するリクエストを 1 回行い、データを取得する別のリクエストを行うだけです。

すべての意図と目的において、API/サイトが公開されている場合、データも公開されています。本当に保護したい場合は、ユーザー認証を要求し、それらのアカウントを誰に与えるかについて注意する必要があります. これにより、データをスクレイピングしているように見えるユーザーの監査と可能性のある禁止も可能になります.

于 2012-07-18T16:43:37.380 に答える
0

もう 1 つの方法は、1 回限りの GET/POST トークンです。トークンを有効期間とともに保存し、スクリプトにトークンを渡すと、スクリプトはhttps://example.com/getinfo.php?tを使用してサイトを呼び出します。 =tokenたとえば、クライアントにデータを渡し、トークンを削除して、既に使用されているトークンを誰も使用できないようにします。

また、いずれにせよ、あなたは SSL を介して呼び出しを行っているように見えますが、これは良いことであり、それを維持することをお勧めします.悪い。

また、転送後、データ (トークンと「情報」でさえも) は暗号化されずに RAM に置かれる可能性が高いため、あらゆる種類のマルウェアが同じことを行う可能性があるため、誰にも気づかれずに取得される可能性があります。

于 2015-11-06T10:56:28.830 に答える