go go go - beego

原创
2018/09/09 16:40
阅读数 387



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到前台,也不会拿下数据库的。即使发生入侵,业务的切换也会相对容易。


第三节

扯淡结束

关注公众号:七夜安全博客

  • 回复【1】:领取 Python数据分析 教程大礼包

  • 回复【2】:领取 Python Flask 全套教程

  • 回复【3】:领取 某学院 机器学习 教程

  • 回复【4】:领取 爬虫 教程

  • 回复【5】:领取编译原理 教程

  • 回复【6】:领取渗透测试教程

知识星球已经60多人了,随着人数的增多,价格之后会上涨,越早关注越多优惠。星球的福利有很多:

  • 比如上面的教程,已经提前在知识星球中分享

  • 可以发表一些问题,大家一块解决

  • 我之后写的电子书,录制的教学视频,对于知识星球的朋友都是优惠的(基本上免费)

  • 一些节假日会给大家发个红包或者赠书

本文分享自微信公众号 - 七夜安全博客(qiye_safe)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部