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

Ta reguła wykrywa wywołanie 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() zwróci wartość null, jeśli plik powitania zostanie wywołany bezpośrednio lub przez przekazanie, 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 przekaże go do adresu URL): http://mycompany.com/?param=value następnie WebSphere wyśle żądanie do pliku index.jsp. Wywołanie request.getQueryString() w pliku index.jsp zwróci jednak wartość null zamiast param=value . Dotyczy to tylko 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://mycompany.com/?param=value do http://mycompany.com/index.jsp?param=value . To rozwiązanie będzie działać w przypadku komponentów, które przekazują dane do strony JSP, ale nie będzie działać w przypadku plików powitania JSP, do których mogą uzyskać bezpośredni dostęp użytkownicy zewnętrzni, którzy mogą wprowadzić adres URL bezpośrednio, na przykład za pomocą przeglądarki WWW.
  2. Użytkownik może uzyskać łańcuch zapytania, wywołując request.getAttribute("javax.servlet.forward.query_string") zamiast request.getQueryString() .
  3. Użytkownik może ustawić właściwość niestandardową WebSphere com.ibm.ws.webcontainer.provideQStringToWelcomeFile na wartość true we właściwościach kontenera WWW. 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: