2013-02-20 43 views
5

Cách nào đúng để xác minh X-Hub-Signature trong php?Instagram cách xác minh Chữ ký X-Hub bằng php

Tôi đã thử với

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

nhưng nó không hoạt động.

Trả lời

3

Để xác minh X-Hub-Signature tiêu đề gửi bởi Instagram hoặc Facebook webhook callback trong PHP phiên bản 5.6 hoặc cao hơn, bạn có thể sử dụng:

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

Điều này là tốt sử dụng phương pháp == hoặc === từ hash_equals sẽ ngăn chặn cuộc tấn công thời gian.

Các vấn đề liên quan