web安全(一):Web安全入门
一、Web安全性措施
1、身份验证
验证是识别一个人或系统(如应用程序)以及检验其资格的过程。在Intenet领域,验证一个用户的基本方法通常是用户名和口令。
2、授权
授权是确定用户是否被允许访问他所请求的资源的过程。例如:在银行系统中,你只能访问你的银行账户,而不能访问别人的银行账户。授权通常是通过一个访问控制列表(ACL)强制实施,该列表指定了用户和它所访问的资源的类型。
3、数据完整性
数据完整性是指数据从发送者传输到接收者的过程中数据不被破坏。
4、数据保密性
数据保密性是保证除了应该访问它的用户外,别人都不能访问。
注意:授权与保密的区别
二者对信息的保密方式不同。授权是防止信息到达无权访问的用户,而保密是保证信息即使被非法获取,也不能被使用。
二、验证的类型
1、HTTP Basic验证
HTTP的基本验证。它是由HTTP1.1规范定义的,是一种保护资源的最简单和最常用的验证机制。当浏览器请求任何受保护的资源时,服务器都要求一个用户名和口令。只有用户输入了合法的用户名/口令,服务器才发送资源。
2、HTTP Digest验证
HTTP摘要验证。除了口令是以加密的方式发送,其他与基本验证一样。
优点:比基本验证安全。
缺点:只能被IE5以上版本支持,许多Servlet容器不支持。
3、FORM-Based验证
基于表单的验证。它类似于基本验证,但它使用用户自定义的表单来获得用户名和口令。开发时必须创建包含表单的HTML页面。
4、HTTPS Client验证
客户证书验证。它采用HTTPS传输信息。HTTPS是在安全套接层之上的HTTP,SSL可以保证Internet上敏感数据传输的保密性。在这种机制中,当浏览器和服务器之间建立起SSL连接后,所有的数据都以加密的形式传输。
优点:是这几种验证中最安全的。所有常用的浏览器都支持这种验证。
缺点:它需要一个证书授权机构。
三、基本验证过程
客户请求一个受保护资源时,浏览器和Web容器之间实现身份验证的过程:
1)浏览器向某个受保护资源(Servlet或JSPP)发送请求。此时,浏览器并不知道资源是受保护的,所以它发送的请求是一般的HTTP请求,如:
GET/login.do HTTP/1.1
2)当服务器接收到对资源的请求后,首先在访问控制列表(ACL)中查看该资源是否是受保护的资源。如果不是,服务器将该资源发送给用户;如果是,它并不直接发送该资源,而是向客户发送一个401 Unauthorized(非授权)消息。在该消息中包含一个响应头告诉浏览器访问该资源需要验证。响应消息中还包括验证方法和安全域名称以及请求内容的长度和类型。
3)当浏览器收到响应消息后,打开一个对话框提示输入用户名和密码。
4)当服务器收到该请求,它将访问访问控制列表中检验用户名和密码,如果是合法用户且该用户可以访问该资源,它将发送资源并在浏览器中显示出来;否则,它将再一次发送401 Unauthorized消息,浏览器再一次显示用户名/密码对话框。
四、声明式安全与编程式安全
1)声明式安全:是一个应用程序的安全结构,包括角色、访问控制及验证需求都在应用程序外部表示。在应用程序内通过部署描述文件(web.xml)声明安全约束。它仅能针对URL来设置哪些资源必须受到保护。
2)编程式安全:主要使用HttpServletRequest接口中的有关方法实现。
五、用户与角色
每个用户可以拥有一个或多个角色,每个角色限定了可访问的Web资源。在Web应用中,对资源的访问权限一般是分配给角色而不是实际的用户。一个用户可以访问其拥有的所有角色对应的Web资源。
安全域模型的使用
1)定义角色、用户以及用户与角色的映射
tomcat-users.xml:
<tomcat-users><role rolename="xxxx" /><role rolename="xxxx"/>……<user username="xxxx" password="xxxx" /><user username="xxxx" password="xxxx" roles="xxxx"/>
</tomcat-users>
注意:在tomcat-users.xml中添加或者修改就鄂塞和用户后需要重新启动tomcat。
2)定义安全约束
(1) <security-constraint>
定义受保护的Web资源集合、访问资源的角色以及用户数据的约束
① <web-resource-collection>
定义一个或者多个Web资源集合
② <auth-constraint>
指定可以访问受限资源的角色
③ <user-data-constraint>
指定数据应该如何在客户与服务器之间传输
④
(2)<login-config>
元素 定义使用的验证机制。验证机制不同,当Web客户访问受保护的Web资源时,系统弹出的对话框不同
(3)<security-role>
元素 用来定义安全约束中引用的所有角色名
web安全(一):Web安全入门相关推荐
- 什么是web前端?Web前端好入门吗?
什么是web前端? 大家越来越肯定前端的作用,如今也高端web前端开发人员依旧紧缺.而web前端技术说白了就是Java.CSS.HTML等"传统"技术与Adobe AIR.Goog ...
- Web全栈~09.JavaScript入门
Web基本笔记~09.JavaScript入门 上一期 JavaScript是由Netscape(网景)公司研发出来的一种在它的Navigator浏览器上执行的程序语言. JavaScript简介 J ...
- Web全栈~04.css入门
Web基本笔记~04.css入门 上一期 CSS 的引入方式 内联样式(行内样式) <p style="background: orange; font-size: 30px;&quo ...
- 冲击红队第一天 - Web安全介绍与基础入门
大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: 冲击红队第一天 ...
- Day14-HTTP协议 web开发概述 servlet快速入门
HTTP:HyperText Transfer Protocol 超文本传输协议 用于定义web浏览器和web服务器之间交换数据的过程 特点: 基于请求/响应模型的协议.请求和相应必须成对出现,现有请 ...
- Web前端技术 Web学习资料 Web学习路线 Web入门宝典(不断更新中)
(此文档于2019年3月停止再更新,后续更新移步至:https://github.com/liuyuqin1991/polaris) 学习路线 第一章 技术(核心单独列章节) 1.Node Node. ...
- Ktor: Kotlin Web后端框架 快速开始入门
Ktor: Kotlin Web后端框架 Web backend framework for Kotlin 快速开始入门 Ktor 简介 Ktor 是一个用于在 Kotlin 中快速创建 web 应用 ...
- python web开发-Python Web开发从入门到精通
Python Web开发从入门到精通循序渐进地讲解了Python Web开发的核心知识,并通过具体实例的实现过程演示了Web开发程序的流程.Python Web开发从入门到精通共15章,内容包括Pyt ...
- web框架:Iris快速入门
web框架:Iris快速入门 1 介绍及安装 介绍 Iris是一款用Go开发的web应用框架,被称为速度最快的Go后端开发框架. 官网地址:https://www.iris-go.com/ 中文教程地 ...
- Bootstrap响应式Web开发笔记01——基础入门
Bootstrap响应式Web开发笔记01--基础入门 Bootstrap响应式Web开发笔记02--移动端页面布局 Bootstrap响应式Web开发笔记03--Bootstrap栅格系统 Boot ...
最新文章
- Hive远程模式安装(1.00)
- C++回顾day01---C++对C的增强
- Android 安全专项-Xposed 劫持用户名密码实践
- python自动访问网页_Python自动化 selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理?...
- 『设计模式』以为是个王者,后来班主任来了!设计模式--二五仔的观察者模式
- java两个数之间质数求法,求任意两个整数之间质数的个数的代码!!!(新手编写)...
- php表单 提交数据,PHP表单提交数据
- NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- Android 系统(180)---Android.mk入门
- MVP公益活动:编程一小时
- 《构建之法》 读书笔记(6)
- android从本地服务器新浪云,GitHub - SinaCloudStorage/SinaStorage-SDK-Android: Android SDK For 新浪云存储...
- 计算机科学概论文正,北京工业大学软件学院硕导介绍-李文正
- mcafee peo5.3安装配置
- Cocos2dx游戏教程(十二):“见缝插针”,游戏结算界面和音效
- SpringBoot的幕后推手,分布式架构演进+相关笔记参考
- QAxObject类操作Excel过程总结
- 均值定理最大值最小值公式_数学均值定理怎么求不等式的最大值最小值,求教会(ฅω*ฅ)...
- 数据恢复软件从iOS恢复Safari浏览记录
- 两万元的计算机什么配置,两万高配置电脑使用CAD非常卡顿怎么办