2013-02-20 22 views
5

içinde X-Hub-İmza nasıl doğrulamak için php içinde X-Hub-Signature doğrulamak için doğru yolu nedir? Instagram ph-

Ben

$xHubSignature = $request->getHeader('X-Hub-Signature'); 
$postdata = file_get_contents("php://input"); 
$body = $request->getRawBody(); 
$check = sha1('mysecret'.$postdata); 

ile denedim ama çalışmıyor. Payom Dousti için

cevap

3

PHP sürümü 5.6 veya üzeri Instagram veya Facebook webhook callback tarafından gönderilen X-Hub-Signature başlığı doğrulamak için şunu kullanabilirsiniz:

if (hash_equals('sha1=' . hash_hmac('sha1', $postdata, 'mysecret'), 
       $_SERVER['HTTP_X_HUB_SIGNATURE']) 

Bu iyidir hash_equals yönteminden == veya === kullanıldığından zamanlama saldırıları.