Überprüfen Sie, dass der IPN Aufruf von PayPal?
Wie kann ich überprüfen, dass eine PayPal-IPN-POST-Anforderung an meine angegebene notifyURL ist in der Tat kommt von PayPal?
Ich meine nicht den Vergleich der Daten zu dem, was ich zuvor gesendeten, aber wie kann ich überprüfen, dass der server /die IP-Adresse dieses PayPal-Anfrage kommt, ist in der Tat eine gültige?
- Die hier aufgeführten Methoden, die für die Validierung, wo das IPN post zurück kam sind nicht narrensicher, und glaube nicht wirklich, dass Sie viel sicherer als Sie es ohnehin schon sind. Umsetzung der best-Practice-empfohlen von PayPal. Wenn Sie waren unsicher, PayPal hätte größere Probleme, wenn man Ihren gesamten Marke baut auf das Vertrauen der Nutzer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNIntro
Dies ist der einfachste Weg, die ich gefunden habe, es zu tun, auch als per PayPal suggeriert. Ich verwendet http_build_query() die url erstellen, von der post geschickt wurde, um die Website von paypal. Paypal docs besagt, dass Sie sollten diese zurück senden für die überprüfung und das ist das, was wir tun, mit file_get_contents. Sie werden bemerken, dass ich strstr verwenden, um zu überprüfen, ob das Wort "ÜBERPRÜFT" vorhanden ist und so fahren wir weiter in Funktion, wenn nicht wir false zurück...
HTTP-header User-Agent erforderlich jetzt!
https://gist.github.com/mrded/a596b0d005e84bc27badWenn ich mich richtig erinnere, die PayPal verwendet eine statische IP für ihn die IPN-Aufrufe.
So, die überprüfung für die korrekte IP sollte funktionieren.
alternativ können Sie Gebrauch machen von
gethostbyaddr
odergethostbyname
.Dies ist was ich benutze:
[.]
vorpaypal
sollte dieses Problem beheben.^
.