25@JSP_day06

一、案例:
  注册登录
    1、"sql注入"(了解):
      用户可以通过修改sql语句的结构来构造一些有非法用途的sql语句,比如可以绕过登录验证等。
      比如:
        如果客户端没有添加表单验证,用户可以输入1' or '1' = '1这样的参数值,而服务端使用的是statement,则可以构造出类似于 select * from t_user where ... or '1' = '1'

      要尽量避免产生sql注入的问题,可以从以下两个方面入手:
        客户端:添加验证,禁止用户输入 '。
        服务器端:使用preparedStatement来代替statment。
    2、摘要(了解)
      一般不会直接将用户密码直接保存到数据库,而是使用某种加密算法生成摘要字符串,然后保存到数据库。
      了解摘要:
        任意一个字符串,依据摘要算法,会生成一个固定长度的字符串(称为摘要),依据摘要,不能够推测出原始的字符串。
        摘要具有唯一性(不同的字符串,会生成不同的摘要)不可逆性(不能依据摘要来反推出原来的字符串)
        可以使用jdk中的MessageDigest来生成摘要。


二、路径(地址)问题

  1、路径相关的四种情况:
    链接、表单提交、重定向、转发
      <a href=""></a>
      <form action="">
      response.sendRedirect("");
      request.getRequestDispatcher("");
  2、相对路径与绝对路径
    1)什么是相对路径:
      不以"/"开头的路径。
    2)什么是绝对路径
      以"/"开头的路径。
    3)如何写绝对路径
      链接、表单提交、重定向绝对路径从应用名开始写,而转发从应用名之后开始写。
        //返回/appname
        String request.getContextPath();
 


 三、状态管理
    
   

posted @ 2012-05-29 22:39  笑仁术Rex  阅读(109)  评论(0编辑  收藏  举报