2016-04-12 4 views
0

Ich bin Einstellung der Header in meinem jspWie "HTTP-Header" von einem Host zu einem anderen Host in Jsp oder Servlets weiterleiten?

der Code meiner jsp ist:

response.setHeader("msisdn", "919999988888888"); 
response.sendRedirect("http://someIp/projects2/getsetHeader_al.jsp"); 

und in einem anderen Server ich bin nicht in der Lage die Header zu bekommen, die ich in meinem vorherigen jsp gesetzt habe:

 java.util.Enumeration e = request.getHeaderNames(); 

     String msisdn=""; 
     while (e.hasMoreElements()) { 
       String key = (String) e.nextElement(); 
       key = key.trim(); 


if ((key.indexOf("msisdn") > -1) || (key.indexOf("MSISDN") > -1)) { 
        msisdn = request.getHeader(key); 
         out.println("msisdn is "+msisdn); 

       } 

} 

ich Umleiten bin die Antwort von einem Host zum anderen ist es eine Weise Header und Header-Wert zu senden mit uRL umleiten?

Antwort

0

Was Sie versuchen, ist nicht möglich.

Eine Weiterleitung ist eigentlich eine Antwort an den ursprünglichen Anforderer mit einem 3xx-Antwortcode, der den Anforderer anweist, es erneut mit einer anderen URL zu versuchen. Wenn Sie in der Antwort einen benutzerdefinierten Header festlegen, wird der ursprüngliche Anforderer angezeigt. Es sei denn, der Anforderer ist eine Anwendung, die:

  • alle Umleitungen ist der Umgang mit „von Hand“, UND
  • weiß, was mit Ihrem Header tun sollten, in die Anforderung kopiert werden, wenn es sendet sie,

Ihre Kopfzeile wird nicht weitergegeben.

Ich schlage vor, dass Sie versuchen, diese Informationen als Teil der Weiterleitungs-URL weiterzugeben.


Aus Sicherheitsgründen kann ich nicht diese Werte in der URL enthalten.

Wenn Ihre Sorge die Sicherheit des Benutzers ist, dann ist die Lösung einfach. Verwenden Sie HTTPS durchgängig. Dadurch wird verhindert, dass Dritte die umgeleitete Anforderungs-URL sehen.

Wenn Ihre Anwendung Ihre Anwendung vor Ihrem Benutzer schützt, verwenden Sie keine Umleitung. Alles in der Antwort, die auf den Benutzer zurückgeht, ist für den Benutzer zugänglich ... wenn er/sie schauen möchte.

Gibt es eine andere Möglichkeit, Informationen von einem Host an einen anderen Host zu senden, wenn die Antwort an einen anderen Webserver weitergeleitet wird.

Sie könnten es verschlüsseln. Achten Sie jedoch auf "Replay" -Angriffe.

+0

Aus Sicherheitsgründen kann ich diesen Wert nicht in th url ... was ich tun möchte, ist ..... Ich werde die Header vom Benutzer und dann ändern Sie die Header und nachdem ich diese geändert senden möchte headers mit der Umleitungs-URL ohne Angabe in der URL des Browsers –

+0

Gibt es eine andere Möglichkeit, Informationen von einem Host an einen anderen Host zu senden, wenn die Antwort an einen anderen Webserver weitergeleitet wird –

Verwandte Themen