前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go go go - beego

go go go - beego

作者头像
七夜安全博客
发布2018-10-08 11:18:59
1.1K0
发布2018-10-08 11:18:59
举报
文章被收录于专栏:七夜安全博客七夜安全博客

beego高性能框架

前言

在上一篇文章What!!! so fast中,我介绍了golang这种语言,并使用golang开发了一个端口扫描工具。现在我的主要工作是做网络安全方面的开发与策略设计,在开发中,以后更多地是用golang,C++,shell,python可能会用的少一点。

为什么选择使用golang而不是python,是由于特定的环境导致的,公司内网环境隔离是非常好的,在开发机中不能使用pip安装依赖的,只能手动setup.py安装的,简单的包还可以,如果一个包还依赖着很多包,你会崩溃的。。。所以我选择了golang,在本地调试好,直接打包成linux下的二进制文件,直接可以运行,so happy。。。

本篇的主题是聊一聊 beego 以及web安全中的前后端建议

第一节

Beego简介

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架。整体结构如下:

beego 是基于八大独立的模块构建的,是一个高度解耦的框架。当初设计 beego 的时候就是考虑功能模块化,用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块。

beego 是一个典型的MVC的框架,如果你们用过ThinkPHP会发现beego会和它非常相似。它的执行逻辑如下图所示:

到目前为止,我使用它开发了一个api应用,还是非常爽的。大家如果感兴趣,直接访问 https://beego.me/docs/intro/,或者阅读原文,今天主要是简要介绍,之后做出来项目给大家分享一下。

第二节

web安全中的前后端

不应该说前后端,而是前后台。如果说PHP大家一般认为是做后台的,其实也不尽然,在前后端分离的场景中,它只是前台中的后端。在大公司的应用场景中,基本上都是前后台分离,这样做的安全性相对较高。

前台主要负责Web界面的渲染和用户的逻辑,用户的统一接口认证一般是通过soap服务。涉及的技术(我现在用到的),包括web前端的三剑客html+css+js 和PHP。

后台主要负责的是用户权限和数据的api接口。前台和后台之间进行Ajax通信,同时前后台之间的通信对ip和访问频率进行限制。总体上来看就是下图的结构(没有专业的画图工具,有点简约)

首先,对于开发来说,分工独立,只要前后台确定好json接口即可。

然后,安全性上是有保障的,站库分离,上传shell到前台,也不会拿下数据库的。即使发生入侵,业务的切换也会相对容易。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七夜安全博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档