2

I 'm PDFというシンプルなサービスを使用して、オンライン請求書の PDF バージョンを作成しています。現在、クライアントはオンライン バージョンを表示するためにログインする必要がありますが、その結果、API サービスもアクセスできません。PDF サービスがサイトにアクセスしていることを検出し、それに応じてパスワードなしでアクセスを許可するにはどうすればよいですか?

$_Server['http_referrer'] でできると思ったのですが、うまくいきませんでした。変数がどうなるかさえわからなかったので、ページにアクセスするたびに var_dump($_Server) をメールで送信しました。ページに移動したときは美しく送信されましたが、pdfが生成されたときはうまくいきませんでした。

何か案は?

ご協力いただきありがとうございます!

4

3 に答える 3

4

ユーザーを識別する必要があります。このサービスの唯一の方法は、pdf URL (GET パラメーター) に何かを追加することです。

したがって、サーバー側でシークレットを作成し、それを使用してユーザー ID に署名し、それを impdf URL に追加して、リクエストに応じてシークレットで解析します。最終的には、承認に使用できるユーザー ID になります。

于 2012-10-15T02:12:10.200 に答える
3

IPアドレスを調べてみましたか?

このサービスは、おそらく同じ IP アドレス (またはアドレス範囲) からサイトにアクセスします。その場合は、リクエストのリモート IP アドレスを確認するだけで済みます。これ$_SERVER['REMOTE_ADDR']は PHP の場合と考えられます。

ただし、IP アドレスはなりすましの可能性があるため、IP アドレスACLは完全ではないことにも言及しておく必要があります。ネットワークに出入りするパケットの完全な制御 (または安全性の保証) がない限り、セキュリティのために過度に依存するべきではありません。とはいえ、「単純な」セキュリティ要件にはおそらく十分です。

HTTP リファラー回避するのは簡単です。そのため、セキュリティの信頼性が十分ではないため、慎重に検討する必要があります。

于 2012-10-16T04:06:51.133 に答える