Salut,
SVP y'a t-il un moyen de filtrer les adresses URL tapés par l’utilisateur en java ? càd on composera une liste noir des URL interdites et si l’utilisateur tape une de ses adresses il sera dérigé vers une adresse bien déterminée.
Merci
Salut,
SVP y'a t-il un moyen de filtrer les adresses URL tapés par l’utilisateur en java ? càd on composera une liste noir des URL interdites et si l’utilisateur tape une de ses adresses il sera dérigé vers une adresse bien déterminée.
Merci
Salut,
Il existe les WebFilter, mais j'ai pas de tutoriel sous la main.
Sinon tu peux toujours faire une servlet qui attrape les urls que tu veux et forwarder ou rediriger.
Merci pour votre réponse,
Je développe actuellement une application j2ee avec hibernate,spring et jsf et j'ai besoin d'implémenté ce genre de filtrage.
Avez vous des exemples concrètes ou des lien qui peuvent m'aider !! je serai très reconnaissant.
tu dois filtrer quoi
ce qu'on demande à ton serveur? -> utiliser un RequestFilter
ce qu'on tappe dans le formulaire de ton serveur -> Tu fais le travail après la soumission, dans ton code de validation
Tout d'abord merci pour votre réponse,
Je veux que lorsque l'utilisateur tape une URL dans son navigateur de recherche (n'importe lequel) je contrôle l'adresse saisie et par la suite si elle est bonne (n'appartient pas à ma liste des adresses interdites),rien ne se passe sinon il se dirigera vers une autre adresse.
D’après vous, il faut utiliser les RequestFilter, mais est ce que c'est possible de travailler avec sachant que mon application est développée avec Jsf, Spring et Hibernate?
Merci encore une fois
Les WebFilter s'applique avant la servlet (donc avant jsf, jsp, ...) et avant spring si je ne dit pas de bêtise :p
Pour hibernate, normalement ca n'a pas a voir directement avec le web don ça pose pas de problème
Voila un exemple de filtre :
Edit: les expressions rationnelles peuvent aussi être utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; /** * * @author philippe */ @WebFilter(filterName = "BlacklistURL", urlPatterns = {"/*"}) public class BlacklistURL implements Filter { private static final boolean debug = true; // The filter configuration object we are associated with. If // this value is null, this filter instance is not currently // configured. private FilterConfig filterConfig = null; private String[] blacklistedURL = { "/foo", "/bar", }; /** * * @param request The servlet request we are processing * @param response The servlet response we are creating * @param chain The filter chain we are processing * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet error occurs */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest)request; for (String url : blacklistedURL) { // Si l'url est en liste noir if (httpRequest.getServletPath().equals(url)) { // Forwarding vers /blacklisted.jsp request.getRequestDispatcher("/blacklisted.jsp").forward(request, response); } } // l'url continue sont cours chain.doFilter(request, response); } /** * Destroy method for this filter */ public void destroy() { } /** * Init method for this filter */ public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; } }
Merci Mr_Glopinous,
je vais l'essayer
Tu entends quoi par un navigateur de recherche?
Ben oui, une url ca reste une url, c'est le point de contact de base avec ton serveur...D’après vous, il faut utiliser les RequestFilter, mais est ce que c'est possible de travailler avec sachant que mon application est développée avec Jsf, Spring et Hibernate?
Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."
Sinon, il y a aussi ceci : http://www.tuckey.org/urlrewrite/
Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."
Bonsoir, je suis de retour
Merci tous pour votre réponse mais apparament j'ai pas bien présenté mon problème.
en faite, je veux que lorsque l'utilisateur tape une URL d'un site internet quelconque (ce n'est pas une URL d'une servlet ou une page jsp de mon projet comme la solution de WebFilter déjà proposée) comme par exemple www.xxxx.org , à cet moment la on la filtre si c'est interdite ou pas.
D'autre terme, on peut voir ce truc comme un genre de proxy.
J'ai besoin de votre aide,
Merci
Bonsoir,
Ton souci a été bien compris, en revanche je pense que tu n'as pas relu tous les posts au dessus à ce sujet. Je reformule la question, avez vous un serveur apache en frontal de tomcat? Car avec Apache on peut configurer une liste d'ip interdits d'accès sans avoir besoin de coder quoique ce soit.
Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."
Bonsoir,
Merci tout d'abord pour votre réponse,
j'ai lu tous les posts et j'ai essayé le WebFilter mais il fonctionne pour interdire l’accès à une servlet ou page jsp de mon projet et non pas interdire l’accès à un site externe. j'essaye par exemple d'interdire l’accès à un site X alors quand je le tape dans le navigateur rien ne se passe et j'aurais sa page d’accueil.
Je développe avec eclipse indigo et mon serveur est Apache Tomcat 7.0.
Bonjour,
Ok sans apache devant, avec juste tomcat tu trouveras la réponse ici
Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."
Bonjour,
j'ai essayé la sotution de votre lien mais c'est le meme probleme, l'accées est bloqué seulement pour mes projets sous eclipse
Y'a pas d'autres solutions !! est ce que ça sera pas mieux de contrôler le flux sortant de ma carte réseau et faire ainsi l'interdiction ??
sauf que tomcat ou java n'ont rien à voir avec des firewall. Ce que tu demande c'est une firewall
Bonsoir.
Tu peux utiliser Spring Security étant donné que tu utilises Spring dans ton application et ça marche très bien.
Dans le forum, il y a un certain nombre d'exemples.
Pour information, les intercepteurs de Struts sont aussi efficaces.
Bon courage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager