2025-06-30 23:43:28
Amazon SNS からの通知を PHP アプリで検証する方法のChatGPT リンク
ChatGPT に聞いたときのメモ
https://chatgpt.com/share/68629c78-d140-8003-991e-bacaa9da5721
Amazon SNS 自体の使い方は公式サイトや「試してみた、やってみた」系の記事を過去に見たはずなのですが、それっぽいキーワードで検索しても、クリックしたあとが無い。以前はどうやって試したのだろうか...
以下を見ていたのかもしれないです。
https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-create-topic.html
ChatGPT に聞いたものは、PHPアプリへのリクエストが Amazon SNSであることを検証する具体的な方法を聞きたかったときのものです。
検証についての記事は以下の公式の記事にありますが、具体的なコードを知りたかったんだと思います。
https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-verify-signature-of-message.html
特にこちらに検証方法が書いてあります。
そもそも $_POST が受け取れるのは Content-Type による、ということを知らなかった
PHP アプリにリクエストしたら、そのボディ部分は必ず $_POST で受け取れると思ってましたが違いました。業務のコードでも確かに file_get_contents('php://input');
で受け取るコードを見たことがありますが、見かけただけで意図を知りませんでした。
公式サイトにも以下のように書いてありました。
説明 ¶
Content-Type に application/x-www-form-urlencoded あるいは multipart/form-data を用いた HTTP リクエストで、 HTTP POST メソッドから現在のスクリプトに渡された変数の連想配列です。
https://www.php.net/manual/ja/reserved.variables.post.php
実際に必要な場面にならないと知らないものでした。ChatGPT無かったら自分はこれに辿り着けたのか分からないです。