IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

prob de securité des pages jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut prob de securité des pages jsp
    Bonjour à tous voilà j'ai un ti souci, je suis actuellement en train de faire un site en jsp mais j'ai un petit probleme au niveau sécurité, par exemple j'ai une adresse : ......./dossier/voiture.jsp
    mais voila si l'utilisateur a partir de cette adresse se met juste a taper
    ......./dossier/ celui ci accede ainsi a tous mes fichiers sources, voila coment faire pour empecher ce genre de cas??
    notez bien que toutes mes jsp sous le répertoire WEB-INF et malgré ça avec l'url du page j'accede sans probleme !!

    Merci pour votre aide !!!

  2. #2
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Il est possible de "filtrer" les accès en configurant des filtres dans le fichier /WEB-INF/web.xml.

    Tout fichier qui se trouve sous /META-INF et /WEB-INF de l'application Web n'est pas accessible, sauf peut-être configuration spécifique (ex: http://localhost:8080/MonApplicationWeb/WEB-INF/web.xml)

    Utilisez-vous bien Tomcat et non la navigation dans les fichiers ?
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    comment filtrer les acces à mes pages jsp de telle sorte que lorsque quelqu'un veut entrer on le demande de s'identifier avec une page personnalisé?
    j'ai fait ça avec la methode from et ça ne marche pas http://www-igm.univ-mlv.fr/~dr/XPOSE2003/tomcat/tomcat.php?rub=20
    voilà un extrait de mon web.xml:

    <security-constraint>
    <display-name>Sécurité sous Tomcat</display-name>

    <web-resource-collection>
    <web-resource-name>Ressource protégée</web-resource-name>
    <url-pattern>/Dossier/*</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
    <role-name>admin</role-name>
    <role-name>user</role-name>
    </auth-constraint>
    </security-constraint>

    <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
    </login-config>

  4. #4
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Je n'ai jamais utilisé les fonctions de sécurité proposé par l'API Servlet. Je passe donc mon tour.

    Mais tu devrais trouver quelques tutoriaux à ce sujet via Google.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    As-tu configuré le REALM de Tomcat ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    non je n'ai pas configué.comment faire?

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Dans le répertoire /META-INF, tu ajoutes le fichier context.xml
    (Je te laisse adapter le contenu)
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at
     
          http://www.apache.org/licenses/LICENSE-2.0
     
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    -->
     
    <!-- The contents of this file will be loaded for each web application -->
    <!-- digest="MD5" -->
     
    <Context>
        <Realm
            className="org.apache.catalina.realm.JDBCRealm" 
            connectionURL="jdbc:mysql://localhost/safe?user=Utilisateur&amp;password=MotDePasse" 
            driverName="com.mysql.jdbc.Driver" 
            roleNameCol="Role" 
            userCredCol="Password" 
            userNameCol="UID" 
            userRoleTable="role" 
            userTable="utilisateur"/>
     
        <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
     
        <!-- Uncomment this to disable session persistence across Tomcat restarts -->
        <!--
        <Manager pathname="" />
        -->
     
        <!-- Uncomment this to enable Comet connection tacking (provides events
             on session expiration as well as webapp lifecycle) -->
        <!--
        <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
        -->
     
    </Context>
    Il faut ajouter le driver JDBC de MySQL dans le répertoire lib du serveur Tomcat
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    ok maintenant comment ajouter cette table utilisateur userTable="utilisateur" sur tomcat et comment faire le lien entre le web.xml et qui tu m'a donnée?

    svp j'ai besoin d'une explication pas à pas voilà le web.xml et quoi qui me manque pour ça fonctionne :
    security-constraint>
    <display-name>Sécurité sous Tomcat</display-name>

    <web-resource-collection>
    <web-resource-name>Ressource protégée</web-resource-name>
    <url-pattern>/Dossier/*</url-pattern>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
    <role-name>admin</role-name>
    <role-name>user</role-name>
    </auth-constraint>
    </security-constraint>

    <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
    </login-config>

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Je reprendrai demain si personne ne t'a résolu ton problème, il faut que j'y aille...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    ok

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    La table utilisateur a une structure non imposée, il faut juste qu'on puisse récupérer l'enregistrement à partir du "login".
    Dans mon cas, la table a cette structure
    UID varchar(32) PK
    Password varchar(32)
    Nom varchar(80)
    Telephone varchar(30)
    Fax varchar(30)
    Email varchar(80)
    La table des rôles
    UID varchar(45) PK
    Role varchar(45) PK
    Le fichier context.xml permet de paramétrer le realm pour un JDBCRealm (il existe d'autre classe permettant d'utiliser autre chose qu'une DB)
    <Realm className="org.apache.catalina.realm.JDBCRealm" connectionURL="jdbc:mysql://localhost/safe?user=Utilisateur&amp;password=MotDePasse"
    driverName="com.mysql.jdbc.Driver"
    userCredCol="Password"
    userNameCol="UID"
    userTable="utilisateur"/>
    userRoleTable="role"
    roleNameCol="Role"
    Dans ce fichier, tu paramètres la classe pour ton cas.
    Donc, "userTable" détermine le nom de la table où chercher l'enregistrement utilisateur en faisant le lien sur :
    "userNameCol" pour le login entré
    "userCredCol" pour le mot de passe entré

    Si l'enregistrement existe, il chargera la liste des rôles définis par la colonne "roleNameCol" dans la table définie par "userRoleTable" de l'utilisateur en cherchant, pour la colonne UID de utilisateur, les enregistrements correspondants.

    Avec Tomcat, le fait de placer le fichier context.xml dans le répertoire /META-INF suffit pour faire le lien mais comme dit plus haut, il faut impérativement mettre le jar du driver JDBC dans le répertoire "lib" de Tomcat.

    C'est plus clair ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    merci pour l'explication ,j'utilise netbeans 6.9 et tous est reglé automatiquement
    le fichier context.xml dans le répertoire /META-INF et j'ai ajouter le pilote mysql à la librairie et tout va bien .
    Mon prob ou je cree cette table est ce que je la cree à l'aide du console mysql c'est à dire avec la requete create table utilisateur (UID varchar(32) PK
    Password varchar(32)
    Nom varchar(80)
    Telephone varchar(30)
    Fax varchar(30)
    Email varchar(80)) et meme pour la table role?
    autre chose j'ai pas compris cette ligne user=Utilisateur&amp;password=MotDePasse: est ce que je le met telle quelle est ou j'ecris user=trmalek et password = **** ?
    Merci de m'aider .

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Tu peux télécharger l'outil "Mysql Workbench" (ou utiliser une ligne de commande, mais c'est moins convivial)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    j'ai pas compris cette ligne user=Utilisateur&amp;password=MotDePasse: j'ecris comme ça ou je dois modifier?

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    user=Utilisateur&amp;password=MotDePasse
    Oui, il faut l'adapter, il faut mettre l'utilisateur d'accès à la DB et son mot de passe (à moins que tu n'es autorisé une connexion anonyme, mais ce n'est pas conseillé).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    le prob n'est pas resolu , il demande un login et mot de passe mais toujours personne ne peux acceder ,toujours se dirige vers la page d'erreur j'ai essayé bcp mais je ne sais pas ? si vous pouvez me donner le demarche complet .

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Quelle sont les logs du serveur ?
    Qu'as-tu fais exactement ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    j'ai fait tous ce qui est dans ce tutoriel http://netbeans.org/kb/docs/web/secu...tml#Exercise_0
    mais le prob ce que ce tutoriel n'a pas precisé bien ou je fais entrer les logins et mots de passe pour qu'il verifie l'acces.j'ai mis dans le fichier conf du apache tomcat ses lignes

    <role rolename="user"/>
    <user username="user" password="0000" roles="/manager,admin"/>
    et lorsque j'entre ses infos dans le formulaire de la page login.jsp il ne m'autorise pas j'ai pas compris pourkoi et ou je mets login et mot de passe pour que le server les lire et les verifi à chaque acces à la page.
    Je resume ou je dois mettre les logins et les mot de passes pour que le server tomcat les utilise pour permet l'acces aux utilisateurs.Merci

  19. #19
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Je découvre GlassFish 3.1, je ne sais pas trop où il faut mettre les ressources (et j'ai des problèmes prioritaires à régler avant de me soucier de ça... si je continue à tester le serveur )

    Avec Tomcat, les fichiers "tomcat-users.xml" sont placés dans le répertoire "conf" du serveur.
    Dans ton exemple, ils utilisent un "UserDatabaseRealm", d'où le fichier xml.
    Dans mon exemple, c'est un "JDBCRealm" qui s’appuie donc sur une base de données. L'exemple est prévu pour Tomcat, pas pour Glassfish
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #20
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 87
    Points
    87
    Par défaut
    oui je sais moi aussi j'utilise tomcat dans mon projet.Donc ce que je dois faire pour securiser mon projet ? comment utiliser userDatabaseRealm ? ou bien donnez moi svp un demarche complet et bien claire avec jdbcRealm.Mon but c'est de securiser mon projet avec tomcat quelque soit la methode.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. prob de redirection des pages
    Par zaineb.z dans le forum Struts 1
    Réponses: 4
    Dernier message: 02/10/2007, 12h42
  2. Accessibilité des variable dans des pages JSP
    Par jason69 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 08/07/2007, 20h32
  3. Réponses: 20
    Dernier message: 22/05/2007, 17h52
  4. Coloration syntaxique des pages JSP/XML
    Par basket dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/09/2006, 17h19
  5. [Lomboz+DB] contrôle des pages jsp et mysql
    Par sylvie dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/09/2006, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo