一个 Web 应用的全部功能并非总是无条件地向所有用户开放,不同的用户角色拥有不同的功能操作权限,这在现实的场景中随处可见: 某些功能(比如发表文章、评论等)只有登录的用户才有权操作,未登录的普通访客...
文件的上传和管理,是绝大多数网站都必不可少的功能,不过,这也是Web应用中非常容易出现安全隐患的地方。 要实现一个基本的文件上传功能,这对绝大多数开发者来说都非常简单。 例如,我们可以在前端页面显示如...
说到数据库事务,想到的就是要么都做修改,要么都不做,或者是 ACID 的概念。其实事务的本质就是锁、并发和重做日志的结合体。 这一篇主要讲一下 InnoDB 中的事务到底是如何实现 ACID 的: 原...
跨站请求伪造,英文为 Cross-site request forgery,通常缩写为 CSRF 攻击。 什么是CSRF攻击? 假设在某银行网站(www.bank.com)上,有一个转账功能,当用户登...
跨站脚本攻击,英文为 Cross-site Scripting,通常缩写为 XSS 攻击。它也是互联网上最常见的攻击方式之一。 实际上跨站脚本的英文缩写应该是CSS,可是CSS在互联网技术领域更多被用...
01、摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap、LinkedHashMap、TreeMap、IdentityHashMap、WeakHashMap、Hashtable、...
SQL注入攻击 是 Web 应用所遇到的最常见的攻击方式之一。许多著名的开源程序(例如:Discuz、Joomla、WordPress、DedeCMS)也都被多次曝光过发现SQL注入攻击漏洞。 正确预...
为了提高用户体验,开发者一般都会在浏览器端通过JavaScript对用户提交的表单内容进行预校验,比如:标题是否非空、邮箱地址是否符合指定的格式、手机号码是否符合指定的格式、用户名是否符合指定的格式、...
很早之前,就一直有一个想法:希望能够比较系统地介绍一下Web应用开发过程中的一些安全知识。 为什么呢? 因为从我个人在多家企业工作以及招聘面试的经历来看,我发现:大多数中小企业里的开发人员,甚至包括个...
Servlet 版本 对应的 Java 版本 发布日期 重要变化 对应的Tomcat 版本 Servlet 1.0 1997年 6月 Servlet 2.0 Java 1.1 Servlet 2.1 ...