include::../description.adoc[] == Noncompliant Code Example [source,java] ---- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String input = req.getParameter("input"); ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); engine.eval(input); // Noncompliant } ---- == Compliant Solution [source,java] ---- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String input = req.getParameter("input"); // Match the input against a whitelist if (!whiteList.contains(input)) throw new IOException(); ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); engine.eval(input); } ---- include::../see.adoc[] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] include::../highlighting.adoc[] ''' == Comments And Links (visible only on this page) include::comments-and-links.adoc[] endif::env-github,rspecator-view[]