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 via un transfert, avec une chaîne de requête qui ne contient pas le nom du fichier de bienvenue dans l'URL. Par exemple, si le fichier de bienvenue est index.jspet que l'utilisateur entre l'URL (ou un autre composant système est réacheminé vers l'URL): http://mycompany.com/?param=value puis WebSphere enverra la demande à index.jsp. L'appel request.getQueryString() dans index.jsp renverra toutefois null à la place de param=value . Applicable uniquement 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, modifiez l'URL à partir de: http://mycompany.com/?param=value à http://mycompany.com/index.jsp?param=value . Cette solution fonctionne pour les composants qui transmettent le fichier JSP, mais ne fonctionne pas pour les fichiers de bienvenue JSP accessibles directement par des utilisateurs externes qui peuvent entrer l'URL directement, par exemple, à l'aide d'un navigateur Web.
  2. L'utilisateur peut obtenir la chaîne de requête en appelant request.getAttribute("javax.servlet.forward.query_string") au lieu de request.getQueryString() .
  3. L'utilisateur peut définir la propriété personnalisée WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile à 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 :