2017-01-22 4 views
1

ich derzeit an einem Projekt arbeite, die sich um die dreht sich folgende:domänenübergreifende Validierung in PHP

Page 1 (domain1) Umleitung auf Seite 2 (domain2) Umleitung auf Seite 3 (domain2)

I Ich möchte sicherstellen, dass der Inhalt NICHT angezeigt wird, es sei denn, der Benutzer wird bestätigt, dass er die Seite 1 zuerst besucht hat. Aus offensichtlichen Gründen kann ich keine Sitzungen und Cookies verwenden, da Domain1 und Domain2 zwei separate Domänen sind.

$ _SERVER ['HTTP_REFERER'] ist eine mögliche Lösung, aber es kann geändert oder sogar von den Browseranfragen entfernt werden, so habe ich keine Garantie, dass ich nicht versehentlich legitime Benutzer durch Verwendung blockieren wird.

Wie würde ich es tun?

+0

Können Sie Redirect-Parameter steuern? Sie können Variable - Hash einstellen, um Daten zu validieren oder basierend auf einigen Benutzerparametern. – vuliad

+0

Ja, ich kann. Es gibt keine Formulare oder Benutzerparameter auf Seite 1 - es hat einige andere Funktionen und eine Umleitung zu Seite 2. Sorge, um zu erarbeiten, wie ich diese Hash-Variable setzen könnte? – Mirian

+0

"Es hat einige andere Funktionen" - Worum geht es? Kann man die Umleitung von Seite1 zu Seite2 mit Parameter ändern, wie http: // Seite2 /? Token = Hash_Funktion ($ salt, $ user_ip)? – vuliad

Antwort

0

Ja. Sie können kein Cookie ohne direkte Anfrage vom Browser setzen.

Sie können ein Token übergeben, während Sie von http://page1 zu http://page2/?token=hash_function ($ salt, $ user_ip) umleiten.

Komplexere Methode besteht darin, Token auf Domäne mit page1 zu generieren und es mit direkter Anforderung von page2 server auf page1 Server erneut zu überprüfen. Dies ermöglicht es Ihnen, "einmalige" Token zu erstellen und sogar der Benutzer hat seine IP während der Sitzung geändert (wirklich seltener Fall) - diese Weiterleitung ist immer noch gültig.