Wir haben eine Reihe von IPs, die für Webhooks verwendet werden, aber sie können (und werden es wahrscheinlich) ändern oder neue hinzufügen, wenn wir skalieren. Eine Alternative wäre, der Webhook-URL, die Sie in Mandrill hinzufügen, eine Abfragezeichenfolge hinzuzufügen und dann nach dieser Abfragezeichenfolge zu suchen, wenn ein POST eingeht, damit Sie überprüfen können, ob er von Mandrill stammt.
Die Mandrill-Signatur befindet sich im HTTP-Antwort-Header: Authentifizieren von Webhook-Anfragen
Suchen Sie im Anfrage-Header nach: X-Mandrill-Signature
. Dies ist eine Base64 des Hashcodes, die mit einem Web-Hook-Schlüssel signiert wurde. Dieser Schlüssel ist nur für Ihren Webhook geheim.
Ersetzen Sie einfach die Konstanten und verwenden Sie diese Funktion:
%Vor%Wie in den Dokumenten von Mandrill beschrieben, stellen sie eine Signatur zur Verfügung Überprüfen Sie, ob die Anfrage wirklich von ihnen stammt. Um die Anfrage zu erstellen, gibt es ein paar Schritte:
mandrill_events
) X-Mandrill-Signature
Hier ist eine Beispielimplementierung in Python:
%Vor%205.201.136.0/16
Ich habe sie gerade in der Firewall meines Servers auf die weiße Liste gesetzt.