Zkontrolovat platnou konfiguraci metody getQueryString v úvodních souborech JSP

Toto pravidlo zjistí volání metody request.getQueryString() v úvodních souborech JSP webového modulu. Tato volání jsou označena tak, že uživatel může ověřit správné použití a vyhnout se hodnotám null pro řetězec dotazu.

Na serveru WebSphere metoda request.getQueryString() vrátí hodnotu null, je-li úvodní soubor volán, přímo nebo prostřednictvím předání, s řetězcem dotazu, který v adrese URL neuvádí název úvodního souboru. Je-li např. úvodní soubor index.jsp a uživatel zadá adresu URL (nebo jinou komponentu systému předá adrese URL): http://mycompany.com/?param=value, potom server WebSphere odešle požadavek do index.jsp. Volání request.getQueryString() v index.jsp však vrátí null namísto param=value. To se týká pouze úvodních souborů, jak je definováno v deskriptoru implementace web.xml.

Uživatel může získat hodnotu řetězce dotazu v úvodním souboru JSP třemi způsoby:

  1. Ujistěte se, že adresa URL obsahuje název úvodního souboru JSP. Např. změňte adresu URL z: http://mycompany.com/?param=value na http://mycompany.com/index.jsp?param=value. Toto řešení bude fungovat pro komponenty, které se předají do JSP, ale nebudou pracovat pro úvodní soubory JSP, které mohou být přístupné přímo externími uživateli, kteří mohou přímo zadat adresu URL, například pomocí webového prohlížeče.
  2. Uživatel může získat řetězec dotazu voláním request.getAttribute("javax.servlet.forward.query_string") namísto request.getQueryString().
  3. Uživatel může nastavit přizpůsobenou vlastnost WebSphere com.ibm.ws.webcontainer.providudeQStringToWelcomeFile na hodnotu true ve vlastnostech webového kontejneru. Nastavení této vlastnosti na hodnotu true změní chování kontejneru na předání řetězce dotazu do úvodního souboru.

Další informace viz: