• # Le code

    Posté par . En réponse au message Tomcat7: redirection URL conditionnelle selon adresse IP source (ou domaine). Évalué à 1.

    Hello,

    En fait c'est le bouton [<> ] qui ne marche pas bien : quand je clique dessus, je ne vois pas la balise "triple apostrophe inversé" mais 3 espaces.

    En tapant à la main, ça va mieux.
    Voici le code:

    <HTML>
     <HEAD>
     <TITLE>Test redirection selon adresse IP</TITLE>
     </HEAD>
     <BODY>
     <H1>IP detection</H1>
    <% String ip = request.getHeader("X-Forwarded-For"); 
     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
     ip = request.getHeader("Proxy-Client-IP"); 
     } 
     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
     ip = request.getHeader("WL-Proxy-Client-IP"); 
     } 
     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
     ip = request.getHeader("HTTP_CLIENT_IP"); 
     } 
     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
     ip = request.getHeader("HTTP_X_FORWARDED_FOR"); 
     } 
     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
     ip = request.getRemoteAddr(); 
     };
     out.print( ip+" - " );
     out.print( ip.substring(0,6) );
     if (ip.substring(0,6).equals("10.66."))
     {out.println(" => connected from LAN, SSO enabled");
     // New location to be redirected
     String site = new String("https://vm-001/X/Y/SSO.jsp");
     response.setStatus(response.SC_MOVED_PERMANENTLY);
     response.setHeader("Location", site); 
     }
     else 
     {out.println(" => connected from WEB, SSO disabled");
     String site = new String("https://abc.societe.fr/X/Y/NoSSO.jsp");
     response.setStatus(response.SC_MOVED_PERMANENTLY);
     response.setHeader("Location", site);
     }
     %>
     </BODY>
    </HTML>

    Rien qui ne pique les yeux ?
    Des remarques ou suggestions ?
    Pas de faille de sécurité ?

    @+

    Steve.