Frage

ich brauche, um zu versuchen und fälschen die HTTP_REFERER meine andere Seite übergeben, so dass in der Zielseite, I des Antrags bestimmen kann, kommt in der „richtigen“ Seite und eine entsprechende Logik auszuführen.

  1. Wie kann ich tun, dass in JavaScript (AJAX)?
  2. Kann ich das in ASP.Net?

TIA Widder

War es hilfreich?

Lösung

Im Allgemeinen können Sie keine anderen Browsern verursachen eine falsche HTTP_REFERER ohne ausnutzen, Plug-in oder eine andere Erweiterung zurückzukehren. Wenn Sie den Wert von Ihrem Web-Browser gesendet ändern möchten und Sie FireFox verwenden, sehen Sie die Modify Headers Erweiterung .

Auf jeden Fall sollte man sich nie darauf verlassen HTTP_REFERER genau zu sein. Es gibt keine Garantie, dass der HTTP_REFERER Sie erhalten nicht gefälscht ist oder einfach nicht gesendet.

Andere Tipps

Wenn Sie auf der Zielseite testen möchten, ob eine Anforderung von der „richtigen“ Seite kommen, brauchen Sie nicht die Referrer zu fälschen. Alles, was Sie tun müssen, ist die Anforderung von einer anderen Seite ausgeben. Richten Sie eine Seite an einer anderen URL von dem, was Sie betrachten die „richtigen“ ist, und die Ausgabe von Anfragen von dort entweder durch einen Link auf die Zielseite klickt oder ein Bild von dem Ziel bezogen setzen.

Es ist bereits erwähnt worden, dass man nicht wirklich Parodie Dinge. Aber zu klären, wird der HTTP_REFERER Header erzeugt durch den Browser , so auf der Server-Seite der Dinge kann man nicht kontrollieren (einschließlich Dinge Javascript Handoffs, die aktiviert werden können oder auch nicht).

Wenn Sie nur die Antwort von Ihrer Seite auf bestimmte Header (wie „Referer:“) testen wollen, können Sie Befehlszeilen-Tools wie curl oder wget die in den meisten BSD und Linux verfügbar sind Varianten (einschließlich OS / X). Wenn Sie MS Windows verwenden, können Sie sich curl oder wget Cygwin .

    wget -O - --referer="http://example.com/some/path" http://example.com/

oder

    curl -e "http://example.com/some/path" http://example.com/

Aber Ihr Kern Grund dafür ist offenbar zu „schützen“, um eine Seite, glaube ich. Wenn Sie wirklich sicherstellen möchten, dass eine Seite (nennen wir es „B“) erst nach einer anderen Seite ( „A“) besucht wird besucht wird zuerst, dann müssen Sie komplexere Logik auf der Serverseite.

Wenn Sie eine Session-Cookie sind speichern, dann können Sie eine gewisse Logik auf Seite „A“ einzubetten, die eine boolean Variable setzt. Dann fügen Sie Logik auf Seite „B“, die die Variable, um sicherzustellen, überprüft gesetzt wurde.

Ich werde es als eine Übung für die Leser überlassen, herauszufinden, wie dies in ASP.NET zu tun. (Weil ich bin ein PHP-Programmierer; -]).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top