Verifikasi Tanda Tangan Webhook: Jangan Percaya Pengirim Tanpa Bukti
Webhook datang tanpa Anda meminta — seseorang mengirim POST ke endpoint Anda dan mengklaim dari penyedia tertentu. Tanpa verifikasi, siapa pun dapat menyamar dan mengirim pesan palsu. Verifikasi tanda tangan adalah gerbang kebenaran.
Tanda tangan HMAC
Penyedia yang baik menandatangani webhook dengan HMAC menggunakan secret bersama. Anda menghitung ulang tanda tangan dari body dan membandingkan. Bila cocok, pesan asli; bila tidak, tolak. Tanpa secret bersama, tanda tangan tidak ada artinya.
Bandingkan dengan benar
Bandingan tanda tangan harus konstan-waktu untuk menghindari serangan timing. Jangan bandingkan string dengan == biasa yang bocor panjang. Gunakan fungsi perbandingan kriptografis.
Perlindungan replay
Tanda tangan yang valid bisa dipakai ulang (replay). Sertakan timestamp dan tolak yang terlalu lama, atau catat nonce yang sudah diproses. Verifikasi tanpa anti-replay memvalidasi keaslian tapi tidak kesegaran.