发表于: 2016-09-06 21:56:12
1 2357
今天完成的事情:上午系统的看了一下打印日志的相关知识,Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
public class LogDemo {
private static Logger logger = Logger.getLogger(LogDemo.class);
public static void main(String[] args) {
logger.debug("这是-- debug message...."); // 记录debug级别的信息
logger.info("这是-- info message...."); // 记录info级别的信息
logger.error("这是-- error message...."); // 记录error级别的信息
}
}
==========================================================================
了解了任务5的,基本流程,和知识点。
token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。例如在USB1.1协议中定义了4类数据包:token包、data包、handshake包和special包。主机和USB设备之间连续数据的交换可以分为三个阶段,第一个阶段由主机发送token包,不同的token包内容不一样(暗号不一样)可以告诉设备做不同的工作,第二个阶段发送data包,第三个阶段由设备返回一个handshake包。Token是一个用户自定义的任意字符串。在成功提交了开发者自定义的这个字符串之后,Token的值会保存到微信后台。只有服务器和微信后台知道这个字符串,也就是说只有微信后台和公众账号服务器知道这个字符串。于是Token就成了这两台服务器之间的密钥,它可以让公众账号服务器确认请求是来自微信后台还是恶意的第三方。
如果对安全性要求较高,可以对app端的某些用户信息或mac/ip等进行加密散列生成token;通常就使用uuid生成一个随机值作为token就好了。是否写进数据库看自己的业务需求,比如如果要求服务器挂掉重启之后客户端带着挂掉前的token能够正常访问,那就需要写进数据库。
实现了MD5上午基本流程,工具类CipherUtil写法不粘了了,百度上很多。
public class Main {
public static void main(String[] args) {
String pwd1="cuimingyang";
String pwd2="";
// CipherUtil cipher = new CipherUtil();
System.out.println("未加密的密码:"+pwd1);
pwd2 = CipherUtil.generatePassword(pwd1); //将123加密
System.out.println("加密后的密码:"+pwd2);
System.out.print("验证密码是否下确:");
if(CipherUtil.validatePassword(pwd2, pwd1)) {
System.out.println("正确");
}
else {
System.out.println("错误");
}
}
}
====================================================================================
=========================================================================================
下午搞了一下任务4中登录注册的问题,点击后上角的登录注册之后,不能正常跳转页面,后来才知道:
在J2EE中其主要安全性就体现在web工作目录的WEB-INF文件夹下.如果将一个页面保存在WEB-INF文件下 ,那么该页面则不能被用户访问,就好比小偷都看不见我有什么,他还能知道要偷什么吗.. 因此如果将一个页面放在WEB-INF文件夹下,那么该页面的安全性将得到提高... 但有时候当我们需要访问该页面时,却无法访问,如何能够访问WEB-INF文件夹下的页面呢?
但是问题是如果我不通过action来处理跳转,我想直接从web-inf的a.jsp页面跳到b.jsp页面怎么办呢?通常这个时候我们会试下相对地址/b.jsp 绝对地址/WEB-INF/b.jsp或者<%=request.getContext()=%>/WEB-INF/b.jsp,但无论怎么搞都不行,这个时候就比较崩溃。想直接跳转从安全性的角度来看肯定不行的,因为在WEB-INF底下web容器是不让你看见他的跳转路径的。直接跳转不行,间接跳转还是有的,比如struts的action跳转就是一种间接,为什么间接就是安全的呢?因为它的跳转地址是在web.xml里面配好的,访问的人是看不见的所以是间接安全的。难道只有struts可以完成间接的任务,显然不是了。其实想一想struts的action是什么东西就知道怎么做了,struts的action说白了还是一个servlet,所以可以通过servlet来完成任务了。
具体的做法如下:
首先在web.xml里面配置servlet和servlet mapping
<servlet>
<servlet-name>goto</servlet-name>
<jsp-file>/WEB-INF/jsp/test.jsp</jsp-file>--要跳转到的页面
</servlet>
<servlet-mapping>
<servlet-name>goto</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
然后就能找到页面了。
明天计划的事情:明天把登录注册的数据库的后台一系列的功能实现。
遇到的问题:
跳转至“.../pages/u/home,是什么意思,该怎么实现呢
收获:
评论