したがって、APIがJSON形式でサーバーにPOSTリクエストを発行するREST APIを使用しています。以下は、送信する情報である:PHPとSHA1を使用したJSON POSTリクエストの処理
info: {
id: "9890dsds8",
number: 5,
amount: 33
},
sig: "8jhjbhb78979899h"
SIGは情報のSHA1の署名である、これはポストを検証するために使用されるべきです。たとえば、私たちは(彼らの例で与えられたような)とRubyで情報を検証することができます
require 'json'
require 'cgi'
require 'digest/sha1'
key = "some_key"
params = CGI::parse(post_body)
digest = Digest::SHA1.hexdigest(params["info"]+key)
if digest == params["sig"]
# Valid signature
info = JSON.parse(params["info"])
# Respond with status code 200 and some unique_id
else
# Invalid signature. You should response with a non-200 response code.
end
UNIQUE_IDは、UTF8文字の文字列の長さで50文字以下でなければならず、身体の内容のみでなければなりませんあなたの応答の。
私は何が起こっているかをかなり理解することができますが、私は完全にすべてを理解することはできません。主に、それがRubyの中にあるからかもしれません。
PHPでこれを行う方法を教えてもらえますか? PHPでこのJSON POSTリクエストを処理できません。スニペットのPHP変換バージョンは非常に高く評価されます。私はまた、PHPのSHA1の側面、どのような特別な知識を必要とするのかをどう対処するかわからないのですか?
ありがとうございます!
あなたのPHPコードは、これまで何ですか? – hakre