work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java基础五、Java Web

Posted on 2020-03-10 23:16  work hard work smart  阅读(87)  评论(0编辑  收藏  举报

64、JSP和servlet有什么区别?

JSP是servlet技术的扩展,本质上就是servlet的简易方式,servlet和JSP最主要的不同点在于,servlet的应用逻辑再Java文件中,并且完全从表示层中的html里分离开来,

而JSP的情况是Java和html可以组合成一个扩展名为JSP的文件。JSP侧重于视图,servlet主要用于控制逻辑。

 

 

68、session工作原理

session工作原理是客户端登录完成之后,服务端会创建对应的session。session创建完成完之后,会把session的id发送给客户端,客户端再存储到浏览器中。这样客户端每次访问服务器时,都会带sessionid,在内存中找到对应的session,这样就可以正常工作了。

 

69. 如果客户端禁用cookie,session还能用吗?

可以用,session只依赖cookie存储sessionid, 如果cookie被禁用了,可以在url中添加sessionid的方式保证session能正常使用。

 

70、spring mvc和structs的区别是什么?

 

71、如何避免SQL注入?

使用预处理PreparedStatements

使用正则表达式过滤掉字符中的特殊字符

 

72、什么是XSS(Cross Site Scripting)攻击,如何避免?

XSS攻击: 即跨站点脚本攻击,它是web程序中常见的漏洞。原理是攻击者往web页面里插入恶意的脚本代码(css代码,JavaScript代码等),当用户浏览该页面时,嵌入其中的脚本代码会被执行,从而达到恶意攻击用户的目的,如盗取用户cookie,破坏页面结构,重定向到其它网站等。

 

预防XSS的核心是必须对输入的数据做过滤处理

 

73、什么是CSRF攻击,如何避免?

CSRF: Cross-Site Request Forgery(跨站请求伪造),可以理解为攻击者盗用了你的身份,以你的名义发送恶意请求。比如,以你的名义发送邮件,购买商品,虚拟货币转账等。

防御手段:

验证请求来源地址

关键操作添加验证

在请求地址添加token并验证

详细可参考: https://www.cnblogs.com/uzxin/p/11933179.html