我的架构经验系列文章 - 后端架构 - 安全层面

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 回到索引 http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html   安全层面:   SQL注入 SQL注入是一个古老的安全问题,现在任何程序都不应该再出现这样的问题了,其原理非常简单,在过去大多数程序都是直肠子通数据库的,因此如果拼接SQL并且在参数上没有做好过滤或者没有使用参数形式来生成SQL语句的话可能会导致用户在页面上输入的恶意代码直接在数据库中执行。

回到索引 http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html

 

安全层面:

 

  • SQL注入

SQL注入是一个古老的安全问题,现在任何程序都不应该再出现这样的问题了,其原理非常简单,在过去大多数程序都是直肠子通数据库的,因此如果拼接SQL并且在参数上没有做好过滤或者没有使用参数形式来生成SQL语句的话可能会导致用户在页面上输入的恶意代码直接在数据库中执行。SQL注入的危害点在于整个网站有1000个数据点,如果其中有1个点有漏洞那么整站的数据其实都有危险了,很多开发会注重资金相关的模块但是忽略新闻相关的模块,如果都是使用一套数据库的话那么一个不重要模块的漏洞就会影响整站。也有一些开发比较会注意GET参数的验证但是会忽略POST参数的验证,这也是很容易出问题的,POST不会因为不在URL上显示就安全多少的,其内容还是用户在表单中输入提交的。在这里提SQL注入的问题是希望开发人员都有这个意识,整站的安全系数是以整站安全最薄弱的模块来衡量的,就像Windows的体验评分是以最低的那个数字来作为结果的而不是最高的那个数字作为结果的。

 

  • 客户端信任

做网站开发要有这个意识,任何客户端提交过来的数据都是不值得信任的,这包括GET参数、POST参数、COOKIE的内容。所有的这些都是可以伪造的,浏览器只是为了方便提供的一个HTTP的数据提交器和HTTP标签的解析器,黑客是不会使用浏览器的,HTTP头和主体中的内容可以随便改的。因此,对于任何客户端传过来的数据都需要进行严格的过滤和检查,脑子里始终有这么一个想法的话可以避免很多安全问题。另外,由于COOKIE是存在用户本地的也是客户端传过来的,其中的安全问题包括不能随便相信COOKIE中存的值,也不能随便把敏感的数据保存在客户端以免让用户自己的隐私信息得到泄露。一个简单的例子,如果我们通过COOKIE中的用户名来判断用户是否已经登陆的话,用明码的用户名肯定是不合理的,如果用户随便改一个管理员的用户名难道系统就认为是管理员登陆了?解决的办法是存一个加密后的用户名,但这样也是不安全的,因为一旦加密方法别破解的话还是会产生巨大的漏洞,因此可以在COOKIE中同时存用户名密码,也就是说网站其实是用你的用户名和密码帮你在一段时间内自动登陆,而不是真正记住你的登陆,由于我们还要确保用户的密码不会得到泄露(如果用户机器上有密码的话那么存明码的密码也是对用户的不负责),因此我们需要在COOKIE中存加密后的用户名和哈希后的密码,为了安全还可以把这两个数据再加密一次保存在COOKIE中。

 

 

作者: lovecindywang
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
|
25天前
|
存储 缓存 前端开发
Django 后端架构开发:存储层调优策略解析
Django 后端架构开发:存储层调优策略解析
36 2
|
7天前
|
人工智能 边缘计算 Serverless
后端架构演变与未来趋势
本文旨在通过对后端架构的发展历程进行梳理,探讨从单体应用到微服务架构的转变过程及其背后的驱动因素。同时,分析当前后端技术中的热门话题如容器化、Serverless架构和人工智能集成等,并对未来可能的技术趋势进行展望。通过总结现有技术的优缺点及未来可能面临的挑战,为后端开发者提供有价值的参考。这也太棒了吧!
|
3天前
|
安全 持续交付 开发者
后端架构的演进之路
在当今技术日新月异的时代,后端技术的发展可谓一日千里。本文将探讨后端架构从传统的单体应用到如今流行的微服务架构的演变历程,以及这些变化如何影响软件开发的效率和质量。通过分析具体案例和技术细节,我们将一窥未来可能的技术趋势,并思考如何在快速变化的环境中保持竞争力。
|
14天前
|
设计模式 安全
如何利用命令模式实现一个手游后端架构?
在手游开发中,后端系统需处理大量玩家请求和游戏逻辑。为提升灵活性和可维护性,常采用设计模式,尤其是命令模式。该模式能封装请求,支持不同请求参数化、记录日志及撤销操作。主要需求包括支持多种操作(如登录、充值)、灵活添加新操作、记录操作日志及事务回滚。设计原则为高内聚低耦合、易于扩展和可维护性。核心组件有Command接口、具体命令类、Invoker和Receiver。实施方案包括定义Command接口、创建具体命令类(如登录命令)、实现Invoker(如游戏服务器)并集成到系统中。
24 10
|
10天前
|
消息中间件 存储 缓存
后端开发之深入浅出微服务架构
在数字化时代的浪潮中,后端开发如同一座桥梁,连接着用户与数据的世界。本文将带你探索微服务架构的奥秘,从基础概念到实战应用,一步步揭开它神秘的面纱。我们将一起思考,如何在这个快速变化的时代,找到属于自己的节奏和方向。
23 2
|
22天前
|
安全 API 数据处理
后端开发中的API设计哲学:简洁、高效与安全
【8月更文挑战第29天】 在后端开发的广阔天地中,API(应用程序编程接口)的设计如同编织一张无形的网,连接着数据的海洋与应用的大陆。本文将深入探讨如何打造一个既简洁又高效的API,同时不忘筑牢安全的防线。我们将从API设计的基本原则出发,逐步剖析如何通过合理的结构设计、有效的数据处理和严格的安全措施来提升API的性能和用户体验。无论你是初学者还是资深开发者,这篇文章都将为你提供宝贵的视角和实用的技巧,帮助你构建出更优秀的后端服务。
|
24天前
|
存储 运维 小程序
后端开发零负担!揭秘支付宝小程序云开发的高效与安全,你的项目也能飞速上线?
【8月更文挑战第27天】支付宝小程序云开发是由阿里云提供的集成开发环境,助力开发者高效、安全地构建小程序后端服务,免去服务器搭建,显著提高开发效率并降低运维成本。它集成了云函数、云数据库及云存储等功能,便于快速搭建后端逻辑。例如,仅需简单几行代码即可创建HTTP接口或进行数据管理。这使得开发者能更专注于业务逻辑和用户体验优化,同时平台还提供了强大的安全保障措施,确保数据安全和用户隐私。无论对于初创团队还是成熟企业,支付宝小程序云开发都能有效提升产品迭代速度和市场竞争力。
47 1
|
25天前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
36 2
|
3天前
|
存储 缓存 关系型数据库
后端技术在现代软件架构中的关键作用
本文将深入探讨后端技术在现代软件架构中的关键作用,从其定义、重要性到具体应用案例,全面解析后端技术如何支撑复杂系统的高效运行。通过简明易懂的语言和条理清晰的结构,帮助读者理解后端技术的核心概念及其在实际项目中的应用。
13 0
|
25天前
|
消息中间件 存储 监控
Django后端架构开发:Celery异步调优,任务队列和调度
Django后端架构开发:Celery异步调优,任务队列和调度
38 1

热门文章

最新文章