Vérifier la configuration de la méthode getQueryString dans les fichiers de bienvenue JSP

Cette règle détecte l'appel de méthode request.getQueryString() dans les fichiers de bienvenue JSP d'un module Web. Ces appels sont marqués pour que l'utilisateur puisse vérifier leur utilisation et éviter les valeurs null pour la chaîne de requête.

Dans WebSphere, la méthode request.getQueryString() renvoie la valeur null si le fichier de bienvenue est appelé, directement ou par le biais d'une redirection, avec une chaîne de requête dont l'adresse URL ne contient pas le nom du fichier de bienvenue. Par exemple, si le fichier d'accueil est index.jsp et que l'utilisateur entre l'URL (ou qu'un autre composant système transmet l'URL) http://mycompany.com/?param=value, WebSphere envoie la demande à index.jsp. Cependant, l'appel request.getQueryString() dans index.jsp renvoie la valeur null au lieu de param=value. Cette procédure ne s'applique qu'aux fichiers de bienvenue définis dans le descripteur de déploiement web.xml.

Vous pouvez obtenir la valeur de la chaîne de requête d'un fichier de bienvenue JSP de trois façons :

  1. Vérifiez que l'adresse URL inclut le nom du fichier de bienvenue JSP. Par exemple, changez l'URL http://mycompany.com/?param=value en http://mycompany.com/index.jsp?param=value. Cette solution fonctionne pour les composants qui permettent d'accéder à la page JSP mais ne fonctionnent pas pour les fichiers d'accueil JSP accessibles directement par les utilisateurs en entrant l'URL dans un navigateur Web, par exemple.
  2. Vous pouvez obtenir la chaîne de requête en appelant request.getAttribute("javax.servlet.forward.query_string") au lieu de request.getQueryString().
  3. Vous pouvez associer la propriété personnalisée WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile à la valeur true dans les propriétés du conteneur Web. Si vous associez cette propriété à la valeur true, le comportement du conteneur relatif à la transmission de la chaîne de requête au fichier de bienvenue change.

Pour plus d'informations, voir :