== How to fix it in Java SE === Code examples include::../../common/fix/code-rationale.adoc[] ==== Noncompliant code example [source,java,diff-id=1,diff-type=noncompliant] ---- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String location = req.getParameter("url"); resp.sendRedirect(location); } ---- ==== Compliant solution [source,java,diff-id=1,diff-type=compliant] ---- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String location = req.getParameter("url"); List allowedHosts = new ArrayList(); allowedHosts.add("https://trusted1.example.com/"); allowedHosts.add("https://trusted2.example.com/"); if (allowedHosts.contains(location)) resp.sendRedirect(location); } ---- include::../../common/fix/how-does-this-work.adoc[] === Pitfalls include::../../common/pitfalls/starts-with.adoc[]