示例网址http://dineshlingam.appspot.com/guestbook?name=xxx&skills=zzz
示例代码
public class GuestbookServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
{
String userName = req.getParameter("name");
String userSkills = req.getParameter("skills");
if(userName != null && userSkills != null)
{
res.setContentType("text/plain");
res.getWriter().println("Name : " + userName + ", Skills : " + userSkills);
}
else
res.sendRedirect(req.getRequestURI());
}
}
我手动将此URL输入网络浏览器。
如何保护参数值。
给我任何一个合适的例子。因为我不知道java概念和google-app-engine概念。
我真的不知道SSL。所以,我需要用示例详细解释SSL。
我正在使用eclipse来开发我的应用程序。请帮我。感谢。
答案 0 :(得分:1)
您的代码是可以访问CSS(跨站点脚本)攻击的页面的典型示例。使用HTTPS不会减轻这种影响。相反,在将其添加到页面之前,您需要转义任何输入。
例如,使用Apache Commons Lang库中的StringEscapeUtils.escapeHtml()
和StringEscapeUtils.escapeJavaScript()
。
答案 1 :(得分:1)
使用https无论如何都不保护url参数。如果要使参数安全,则必须将参数放在标题或正文中。但是,如果您直接从浏览器拨打电话,则无法将其放入标题中,因为它是一个GET请求。 +1到nfechner,用于在代码中突出显示XSS问题。
对于您的问题,可以使用https:
进行解决