Nodejs-express-Anfrage-Header - Holen Sie sich die referrer, etc.
Bekomme ich ein post-Formular ein Zahlungs-gateway https, um zu überprüfen, eine Bezahlung etc. Ich brauche, um zu überprüfen, dass die post war in der Tat aus der Domäne.
Ich versuche, um sicherzustellen, dass der referrer ist aus einer bestimmten Liste von Domänen, aber in meinem req.Header ich sehe nicht ein referrer|referer Optionen:
{ 'x-real-ip': '123.34.45.176',
'x-forwarded-for': '123.34.45.176',
host: 'my.foo.com',
'x-nginx-proxy': 'true',
connection: 'close',
'user-agent': 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)',
accept: '*/*',
'content-length': '441',
'content-type': 'application/x-www-form-urlencoded' }
Warum ist mein Header leer die Felder wie referer, Herkunft etc ?
Diese in einem post:
app.post('/payment/notify/', function(req, res){
req.headers
})
Vielleicht könnte ich überprüfen, ob die IP-Adresse einen domain-Namen?
Yup das ist, was ich Tue, erhalten Sie den Hostnamen form der IP-Adresse. Ich glaube nicht, dass Sie senden Sie mir die Herkunft wegen HTTPS. Im mit dns-Modul, um die Hostnamen. wie in dieser Antwort von prestaul stackoverflow.com/questions/4255264/...
Yup das ist, was ich Tue, erhalten Sie den Hostnamen form der IP-Adresse. Ich glaube nicht, dass Sie senden Sie mir die Herkunft wegen HTTPS. Im mit dns-Modul, um die Hostnamen. wie in dieser Antwort von prestaul stackoverflow.com/questions/4255264/...
InformationsquelleAutor Harry | 2013-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht alle Anfragen haben eine referer-header.
Wenn die Letzte Seite ein browser auf einem sicheren server (https), dann sind es nicht übertragen referer, um Sie.
Auch, wenn Sie Ihre Benutzer-Typen Ihre Adresse in Ihre Adressleiste, die Sie nicht bekommen, einen referer als gut.
Unter Berufung auf den referer ist nicht eine sichere Methode, um zu bestimmen, ob eine Zahlung erfolgt ist. Sie müssen setup irgendeine Art von backend-Abfrage an den payment-gateway. Als ein Beispiel, wenn man sich facebook-login in eine app, die app wird ein access token von facebook, die es dann geht auf den server und der server stellt eine Anfrage an facebook, um zu überprüfen, die access token. Sie nehmen nicht nur die app ' s Wort. Das ist nicht sicher. Also, wenn Sie brauchen, um zu wissen, ob eine Zahlung geleistet wurde, müssen Sie ein backend-Anfrage an den payment-gateway.
Header-Informationen manipuliert werden können, vor allem
Referer
daher unter Berufung auf ihn ist SCHLECHTInformationsquelleAutor Daniel