避免通过用户输入构造服务器端重定向路径。当不能完全避免时,应该对非受信的用户输入数据进行验证。或者创建一份安全字符串列表,限制用户只能输入该列表中的数据。

    例如:在下面的代码片段中,程序接收不可信赖的数据,先判断其值是否合理,再将它的内容作为服务端的转发路径。

    1. String path = request.getParameter("path");
    2. //判断路径是否合理
    3. if(isSafePath(path)){
    4. return new ActionForward(path);
    5. }