2016-05-12 2 views
0

Ich benutzte den Referrer in der Kopfzeile, aber ich habe gelernt, dass es nicht zuverlässig ist, weil es leicht vom Benutzer geändert werden kann.Wie validiere ich, dass eine Anfrage von einer gültigen Seite kommt, Knoten

Welche anderen Alternativen habe ich? Ich möchte bestätigen, dass eine Anfrage an einen Server von einer bestimmten Seite kommt, kann dies überhaupt erreicht werden?

Danke!

+0

Sie können nicht. Alles, was ein Browser senden kann, kann auch ein Schaber oder Hacker senden. Sie könnten eine Art Anti-Cross-Request-Fälschungs-Token verwenden. Aber dann könnte ein böswilliger Benutzer zuerst die Seite anfordern, die das Token setzt, und dann eine Anfrage an die zweite Seite zusammen mit dem Token senden. – CodeCaster

Antwort

0

Laerion, ich glaube nicht, dass es eine zuverlässige Möglichkeit gibt, dies zu tun, wenn Sie nicht auf den Referrer angewiesen sind. Sie könnten es jedoch hinter einen Reverse-Proxy (nginx/varnish) setzen oder eine Art Cookie setzen, um diese Informationen zu erhalten. Viel Glück.

+0

Der Referrer ist auch nicht zuverlässig. Was ändert sich bei einem Proxy oder Cookie? – CodeCaster

+0

Ich dachte, Sie könnten Sicherheitstoken in Ihrem URI verwenden, aber ich habe nur einige Nachforschungen angestellt und dies ist auch nicht zuverlässig, insbesondere weil eindeutige Kennungen oft von verschiedenen Diensten entfernt werden, um den Datenschutz zu gewährleisten. Entschuldigung, ich glaube nicht, dass es einen Weg gibt, dies zu tun. – CareFree

+0

Ja, es ist ein bisschen schwierig zu tun. Ich plaudere tatsächlich mit meinem Klienten die Möglichkeit, dass der Browser nicht direkt zur API geht, sondern einen Server in der Mitte benutzt und OAuth oder so ähnlich benutzt. Ich hoffe ihn zu überzeugen, weil ich dafür keinen anderen Weg (zuverlässig) finden kann. Danke Jungs! – Laerion

Verwandte Themen