2011-10-27 10 views
5

  To powinno być proste pytanie, ale byłem w stanie go rozwiązać. Próbuję zmienić nagłówek Referral przed przekierowaniem strony obiektu HttpResponse. Wiem, że można to zrobić w HttpWebResponse, ale nie można tego uruchomić dla standardowej Page.Response.
  Próbuję po prostu ustawić nagłówek referer tak, aby wyglądał tak, jakby pochodził ze strony tymczasowej w mojej witrynie (służy do śledzenia analityki dla systemu zewnętrznego).
  Czy to możliwe?
  Próbowałem użyć poniższego kodu (jak również odmiany takie jak Response.AppendHeader i Response.AddHeader), jednak Referer zawsze wyświetla się jako strona, z której pochodzi żądanie.Set Referer nagłówka w ASP.NET

 Response.Headers.Add("Referer", "http://test.local/fromA"); 
     Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri); 

Jeśli nie poprzez .NET można to osiągnąć poprzez js?
Dzięki!

+0

Możliwe duplikaty: http://stackoverflow.com/questions/243057/response-redirect-strips-header-referrer-possible-to-add-it-back – fardjad

Odpowiedz

6

Referer jest kontrolowane (i wysłane) przez klienta. Nie można wpływać na to po stronie serwera. Być może jest jakiś JavaScript, który możesz wyemitować, aby klient zrobił to - ale prawdopodobnie jest to luka w zabezpieczeniach, więc nie liczę na to.

+0

Zmiana strony wywołującej za pomocą JS jest również naruszeniem bezpieczeństwa. W większości przeglądarek jest to niedozwolone. – theusguy

5

odsyłającej jest ustawiony przez klienta, a nie serwera. Przydatne jest dołączenie do żądania, a nie odpowiedzi, ponieważ wskazuje adres URL, z którego pochodzi żądanie.

Powiązane problemy