Sprawdź, czy konfiguracja metody getQueryString w plikach powitania JSP jest poprawna

Ta reguła wykrywa wywołania metody request.getQueryString() w plikach powitania JSP modułu WWW. Te wywołania zostaną oznaczone, dzięki czemu użytkownik będzie mógł sprawdzić poprawność składni i zapobiec używaniu wartości null w łańcuchu zapytania.

W produkcie WebSphere metoda request.getQueryString() zwraca wartość null, gdy plik powitania zostanie wywołany (bezpośrednio lub za pośrednictwem przekazania) z łańcuchem zapytania, który nie zawiera nazwy pliku powitania w adresie URL. Jeśli na przykład plik powitania to index.jsp, a użytkownik wprowadzi adres URL (lub inny komponent systemu przekazuje do adresu URL) http://mojafirma.com/?param=value, produkt WebSphere wyśle żądanie do pliku index.jsp. Wywołanie metody request.getQueryString() w pliku index.jsp zwróci jednak wartość null zamiast wartości param=value. Ma to zastosowanie tylko względem plików powitania zdefiniowanych w deskryptorze wdrażania web.xml.

Użytkownik może uzyskać wartość łańcucha zapytania w pliku powitania JSP na trzy sposoby:

  1. Upewnij się, że adres URL zawiera nazwę pliku powitania JSP. Na przykład zmień adres URL z http://mojafirma.com/?param=value na http://mojafirma.com/index.jsp?param=value. To rozwiązanie będzie działać w przypadku komponentów, które przekazują do pliku JSP, ale nie będzie działać w przypadku plików powitania JSP, do których użytkownicy zewnętrzni mogą uzyskać bezpośredni dostęp, na przykład za pomocą przeglądarki WWW.
  2. Użytkownik może uzyskać łańcuch zapytania, wywołując metodę request.getAttribute("javax.servlet.forward.query_string") zamiast metody request.getQueryString().
  3. We właściwościach kontenera WWW użytkownik może ustawić łańcuch true jako wartość właściwości niestandardowej produktu WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile. Ustawienie łańcucha true jako wartości tej właściwości spowoduje zmianę zachowania kontenera, umożliwiając przekazywanie łańcucha zapytania do pliku powitania.

Dodatkowe informacje na ten temat: