B/S架构下,Web应用攻防的常规手段

简介: 网站应用成为主流最早的软件是运行在大型机上,使用者们要想使用软件,都需要登录到大型机。后来,PC革命,电脑走入千家万户,软件开始主要运行在桌面上,相应的数据库软件则跑在服务器端,这种模式被称为C/S架构。

网站应用成为主流

最早的软件是运行在大型机上,使用者们要想使用软件,都需要登录到大型机。后来,PC革命,电脑走入千家万户,软件开始主要运行在桌面上,相应的数据库软件则跑在服务器端,这种模式被称为C/S架构。

随着互联网的影响力渗透到各行各业,信息量开始剧烈增加,人们对消费信息的需求也变得五花八门。为满足日新月易的需求,软件开发者们需要不断的新增功能、不断的升级软件。若还是采取C/S架构,就需要在每个客户端,逐个升级桌面软件,显然,这种做法,太过费事费力。

在这样的背景下,B/S架构产生了,在这个架构下,客户端只需要利用浏览器,应用程序的响应和数据都存储在服务器端。浏览器只需要请求服务器,拿到Web页面,并把Web页面展示给用户即可。这样一来,修改和升级应用程序,就变得非常迅速了。

黑客跃跃欲试

Web应用迅猛发展,由于其承载的数据越来越有价值,也吸引了黑客的关注。攻击Web应用,主要的手段有两种,一种是SQL注入攻击,另一种是XSS攻击。

攻防的常规手段有哪些

黑客使用SQL攻击,会在HTTP请求中注入恶意SQL命令,当服务器用请求的参数构造SQL命令时,其中的恶意SQL被一起构造了进去,并在数据库执行。

了解了数据库结构,就可以展开SQL注入攻击,黑客可以用以下这些手段来获取数据库的表结构信息。

-- 开源手段。如果网站是用开源软件搭的,那么自然,网站的数据库结构就是公开的,攻击者可以加以利用。
-- 盲注手段。顾名思义,首先猜测表名等数据库表的结构信息,进行SQL注入。
-- 利用错误回显。如果网站开启了错误回显,那么服务器内部的500错误就会显示在浏览器上。攻击者先故意制造非法参数,让服务器的异常信息输出在浏览器端,借此,猜测数据表的结构。

而XSS攻击是跨站点的脚本攻击。黑客通过篡改网页,注入恶意的HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。

黑客用XSS攻击,可以偷取用户Cookie、密码等重要数据,从而伪造交易、窃取情报,以盗窃用户财产。

那么如何防御XSS攻击呢,消毒是一个必备手段。对某些HTML危险字符进行转义,进行过滤和消毒处理,就可以防止大部分的XSS攻击。

防御SQL攻击,也有类似的消毒手段。对请求参数进行消毒,如通过正则匹配,过滤请求数据中恶意注入的SQL,如“drop table”这些。

网站的安全是个越发重要的问题,通过提升黑客的攻击门槛,让他付出比获得的收益更大的代价,可以让黑客消停下来。

相关文章
|
24天前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
24天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
38 3
|
2天前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
11 5
|
11天前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
14天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
15天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
10天前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
15天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
43 5
|
16天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
14天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
下一篇
无影云桌面