前后端分离

day01-----vue框架

ε祈祈猫儿з 提交于 2020-02-26 15:22:01
1.vue框架做前端,django做后端,做到前后端分离。 2.vue框架做前端的好处是可以将有价值的css、js文件打包成很难读懂的js文件 来源: CSDN 作者: codeDRT 链接: https://blog.csdn.net/qq_34405401/article/details/104516502

前后端分离,如何防止接口被其他人调用或恶意重发

走远了吗. 提交于 2020-02-25 20:02:17
前后端分离,如何防止接口被其他人调用或恶意重发? 首先,http协议的无状态特性决定了是无法彻底避免第三方调用你的后台服务。我们可以通过crsf、接口调用频率、用户行为分析(来源等)等各个方面来增加第三方调用的难度,也可以通过添加一个中间层比如node.js来实现; 1. 非法访问通常使用认证来解决,方法很多session,token,oauth第三方框架等等。 (1)常规的方法:用户登陆后生成token,返回客户端,然后服务器使用AOP拦截controller方法,校验token的有效性,每次token是一样的; (2)用户登陆后生成临时token,存到服务器,并返回客户端,客户端下次请求时把此token传到服务器,验证token是否有效,有效就登陆成功,并生成新的token返回给客户端,让客户端在下一次请求的时候再传回进行判断,如此重复。 这种方法有性能问题,但也有一个漏洞,如果用户在一次请求后,还未进行下一次请求就已被黑客拦截到登录信息并进行假冒登录,他一样可以登录成功并使用户强制下线,但这种方法已大大减少被假冒登录的机会。 (3)两层token:一般第一次用账号密码登录服务器会返回两个token,时效长短不一样,短的时效过了之后,发送时效长的token重新获取一个短时效,如果都过期,那么就需要重新登录了。当然更复杂你还可以做三层token,按照业务分不同token。 2.

nginx反向代理实现前后端分离

一曲冷凌霜 提交于 2020-02-11 12:28:41
springboot+vue+nginx vue项目打包 npm run build springboot 打包启动 java -jar cjq.jar--httpPort=8080 nginx配置并启动 #user root; worker_processes 1; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8000; #监听8000端口 server_name localhost; # 配置域名       #线上部署推荐使用root       #location / {         #root E:\java.vue\cjq\dist; #vue项目部署路径         #root html;         #try_files $uri $uri/ /index.html last; #解决页面刷新404问题         #index index.html index.htm;       #}       #本地开发推荐使用本地端口      

对java前后端分离的理解

随声附和 提交于 2020-02-08 11:24:07
到目前为止,身为一个java后端开发人员的我, 在工作期间,无非就是ui设计页面,前端开发html,之后将做好的页面交给我,我负责后台逻辑一件html的页面渲染。 好好滴一个后台开发人员,莫名其妙的做起了前端的活,很是心累啊。 一直不明白前后端分离是啥情况,今天看了一篇博客,说的真到位。 偏头痛杨 看就对了,到位。 先前一件公司使用jsp,效率着实够低。 jsp必须要在支持java的web服务器里运行 4.第一次请求jsp,必须要在web服务器中编译成servlet,第一次运行会较慢。 5.每次请求jsp都是访问servlet再用输出流输出的html页面,效率没有直接使用html高(是每次哟,亲~)。 6.jsp内有较多标签和表达式,前端工程师在修改页面时会捉襟见肘,遇到很多痛点。 7.如果jsp中的内容很多,页面响应会很慢,因为是同步加载。 web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。 应用服务器:一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。一般都是只有web服务器才能被外网访问,应用服务器只能内网访问。 对于后端java工程师: 把精力放在java基础,设计模式,jvm原理,spring+springmvc原理及源码,linux

前后端分离之JWT用户认证zf

一世执手 提交于 2020-02-08 04:07:08
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了。于是我们的程序就不知道谁是谁,就要再验证一次。所以为了保证系统安全,我们就需要验证用户否处于登录状态。 传统方式 前后端分离通过Restful API进行数据交互时,如何验证用户的登录信息及权限。在原来的项目中,使用的是最传统也是最简单的方式,前端登录,后端根据用户信息生成一个 token ,并保存这个 token 和对应的用户id到数据库或Session中,接着把 token 传给用户,存入浏览器 cookie,之后浏览器请求带上这个cookie,后端根据这个cookie值来查询用户,验证是否过期。 但这样做问题就很多,如果我们的页面出现了 XSS 漏洞,由于 cookie 可以被 JavaScript 读取,XSS 漏洞会导致用户 token 泄露,而作为后端识别用户的标识,cookie 的泄露意味着用户信息不再安全。尽管我们通过转义输出内容,使用 CDN 等可以尽量避免 XSS 注入,但谁也不能保证在大型的项目中不会出现这个问题。 在设置 cookie 的时候,其实你还可以设置 httpOnly 以及 secure 项。设置 httpOnly 后 cookie 将不能被 JS 读取

前后端分离之JWT用户认证

断了今生、忘了曾经 提交于 2020-02-08 03:32:52
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了。于是我们的程序就不知道谁是谁,就要再验证一次。所以为了保证系统安全,我们就需要验证用户否处于登录状态。 传统方式 前后端分离通过Restful API进行数据交互时,如何验证用户的登录信息及权限。在原来的项目中,使用的是最传统也是最简单的方式,前端登录,后端根据用户信息生成一个 token ,并保存这个 token 和对应的用户id到数据库或Session中,接着把 token 传给用户,存入浏览器 cookie,之后浏览器请求带上这个cookie,后端根据这个cookie值来查询用户,验证是否过期。 但这样做问题就很多,如果我们的页面出现了 XSS 漏洞,由于 cookie 可以被 JavaScript 读取,XSS 漏洞会导致用户 token 泄露,而作为后端识别用户的标识,cookie 的泄露意味着用户信息不再安全。尽管我们通过转义输出内容,使用 CDN 等可以尽量避免 XSS 注入,但谁也不能保证在大型的项目中不会出现这个问题。 在设置 cookie 的时候,其实你还可以设置 httpOnly 以及 secure 项。设置 httpOnly 后 cookie 将不能被 JS 读取

前后端分离基本介绍

只愿长相守 提交于 2020-02-06 07:27:44
1.概念 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。 2.老的方式 1.产品经理/领导/客户提出需求 2.UI做出设计图 3.前端工程师做出html页面 4.后端工程师将html页面套成jsp页面(前后端强依赖,后端必须要等前端的html做好才能套jsp。如果html发生变更,就更痛了,开发效率低) 5.集成出现问题 6.前端返工 7.后端返工 8.二次集成 9.集成成功 10.交付 3.新的方式 1.产品经理/领导/客户提出需求 2.UI做出设计图 3.前后端约定接口&数据&参数 4.前后端并行开发(无强依赖,可前后端并行开发,如果需求变更,只要接口&参数不变,就不用两边都修改代码,开发效率高) 5.前后端集成 6.前端页面调整 7.集成成功 8.交付 4.前端技术架构 架构描述:以Node.js为核心的Vue.js前端技术生态架构 来源: https://www.cnblogs.com/itzlg/p/11854232.html

前后端分离好处

蹲街弑〆低调 提交于 2020-02-03 17:32:49
WEB 前后端分离三个最大的优点在于: 1:最大的好处就是前端JS可以做很大部分的数据处理工作,对服务器的压力减小到最小 2:后台错误不会直接反映到前台,错误接秒较为友好 3:由于后台是很难去探知前台页面的分布情况,而这又是JS的强项,而JS又是无法独立和服务器进行通讯的。所以单单用后台去控制整体页面,又或者只靠JS完成效果,都会难度加大,前后台各尽其职可以最大程度的减少开发难度。 对于传统的web项目,页面使用jsp,浏览器可以直接运行html页面,但不能直接运行jsp页面,jsp是需要在【拥有jsp引擎的服务器】中运行的,例如tomcat服务器。 所以说jsp的运行是在服务器端进行的,运行完之后,把动态生成的html页面再使【用io流】写回给浏览器,浏览器接收并且解析后再呈现出来效果。(所以所有的计算都是在服务端进行,对服务端压力很大) 来源: https://www.cnblogs.com/wskb/p/12255894.html

thinkphp 前后端分离

*爱你&永不变心* 提交于 2020-01-29 03:15:29
thinkphp 前后端分离 简单记录一下之前学习tp的历程吧。 前端HTML页面渲染 <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function index() { return $this->fetch(); } } 这样的话,你需要将你的前端文件放到application/index/view,view文件夹默认是没有的,需要你自己新建了,如:application/index/view/index.html 前端js/css文件渲染 一般情况js/css文件是放到public/static内,例如我这里将其新建一个admin文件夹(即为/public/static/admin)那么这时候也就是需要在刚才渲染的html内调用,这里可以使用替换 https://www.kancloud.cn/manual/thinkphp5/118120 然后在index这个控制器也就是app/index 同级目录下新建如下config.php <?php return [ 'view_replace_str' => [ '__PUBLIC__'=>'/public/static/admin/', ], ];

前后端分离+基于Vue实现的ElementUI基础

坚强是说给别人听的谎言 提交于 2020-01-27 05:28:58
1.前后端分离概念 前后端分离是一种 web架构设计模式。在开发阶段,前后端工程师约定好数据交互接口,实现并行开发和测试;在运行阶段前后端分离模式需要对web应用进行分离部署,前后端之前使用HTTP或者其他协议进行交互请求。 1.1交互形式: 后端为前端提供约定好的接口(controller层),通过restful的形式将数据传送给前端接收展示,最后渲染到浏览器上。 1.2人员分配: 前端(CSS+HTML+JS等) 后端(java服务器 ) 1.3代码组织方式: 未分离:前后端共用一个代码库,代码存放在同一个工程中。 半分离:前后端共用一个代码库,但是代码分别存放在两个工程中。后端不关心或很少 关心前端元素的输出情况,前端不能独立进行开发和测试,项目中缺乏前后端 交互的测试用例。 真分离:前后端代码库分离,前端代码中有可以进行Mock测试(通过构造虚拟测试对 象以简化测试环境的方法)的伪后端,能支持前端的独立开发和测试。而后端 代码中除了功能实现外,还有着详细的测试用例,以保证API的可用性,降低 集成风险。 1.4前端环境搭建: ①. 使用idea创建一个static web 静态web项目 ②.在npm命令控制台执行命令: vue init webpack 生成vue项目 ③.运行项目 npm run dev 运行成功状态: 2.ElementUI 2.1安装: 在