软件编程

VIP
软件编程

PHP第三方登录设计教程

1. oAuth2.0原理 网站为了方便用户快速的登录系统,都会提供使用知名的第三方平台账号进行快速登录的功能,第三方登录都是基于oAuth2.0标准来实现的。下面详细分析【基于账号密码授权】和【基于oAuth2.0标准授权】的原理和oAuth2.0授权的优点。 1.1 账号密码授权方式 用户到网站发起使用其他平台账号登录的指令,第三方平台网站就向用户索取账号和密码,用户将账号和密码提供第三方网站之后,网站使用用户提供的账号和密码去登录服务商,取回用户的信息。这就是使用账号和密码授权登录的流程。 存在的问题: 一、服务商的账号和密码都泄漏给了第三方平台,导致安全性问题; 分析:假设服务商是微信,没有人会愿意把微信账号和密码告诉当前访问的网站,一旦当前网站发生信息泄漏,微信账号和密码都会丢失; 二、用户要收回授权,只能通过修改密码来实现,若是有多个第三方网站都是用 同一个服务商授权登录,那么所有第三方网站的授权都被收回来了; 分析:假设我们想要收回授权给当前网站的账号和密码,又不可能让第三方主动放弃已给 授权,那么只有用户自己修改微信密码,但是有多个第三方网站都被微信服务商授权了登录,修改密码的同时,其它网站的授权也都失效了; 三、很难实现给不同的网站,授予不同的权限; 1.2 oAuth原理和授权流程 为了解决上述传统的账号密码授权方式存在的问题,oAuth项目组制定了oAuth标准,目的在于为API访问授权提供一个开放的标准;oAuth是针对访问授权的一个开放标准,与以往的授权方式不同之处是oAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此oAuth是安全的。oAuth是Open Authorization的简写。服务商和第三方平台依据oAuth标准来编码,服务商可以实现一个安全的授权机制,第三方应用调用服务商资源也有了统一性,服务商和第三方依据统一的标准来实现自己的功能。 用户向第三方网站发起请求,请求使用其它平台授权登录,这个时候第三网站并不是直接的要求用户提供其它平台的账号和密码,而是引导用户浏览器跳转到服务商的授权登录页面,用户在服务商的网站页面进行登录完成授权。所以解决了刚才的第一个问题,用户不需要给第三方用户透露账号和密码。登录授权之后,服务商就会生成一个一次性的用来访问资源的访问码,我们叫做令牌,这个令牌包含了用户、第三方网站、资源权限的信息。生成这个令牌之后,服务商又引导用户浏览器携带这个令牌跳回第三方网站的页面,网站接收这个令牌后,第三方网站就可以携带令牌作为凭证访问服务商上面有权限访问的资源。在这个过程中,用户没有泄漏账号和密码给第三方,成功授权登录,并且限制了第三方访问的服务资源的权限。 1-1课程介绍 1-2OAuth2.0协议 1-3OAuth工作原理 1-4关于OAuth版本 1-5OAuth应用场景 2-1三个重要步骤解析 2-2步骤一请求OAuth登陆页 2-3步骤二用户使用QQ号登录并授权 2-4步骤三返回登录结果 2-5关于AssessToken 2-6AssessToken和RefreshToken数据传输原理 2-7AccessToken和RefreshToken生命周期 2-8小结
VIP
软件编程

PHP实现页面静态化设计教程

  为什么要页面静态化?   1.动态文件执行过程:语法分析-编译-运行   2.静态文件,不需要编译,减少了服务器脚本运行的时间,降低了服务器的响应时间,直接运行,响应速度快;如果页面中一些内容不经常改动,动态页面静态化是非常有效的加速方法。(纯静态,伪静态还是需要PHP解释器的)   3、生成静态URL利于SEO,利于蜘蛛抓取和收录,有利于提升排名   优化页面响应时间方法   1.动态页面静态化   2.优化数据库   3.负载均衡   4.使用缓存等等   //动态页面静态化一般用于不经常改动的地方,频繁改动的地方一般不适用静态化,可用伪静态(例如微博等)   静态化详细介绍   1、纯静态分为局部静态化(局部动态化,使用AJAX动态获取数据)和纯静态化。   伪静态:改变URL(需要服务器支持,如:apache等等)   2、从URL结构以及页面名称看,伪静态和静态页面是一样的。伪静态的页面后缀可以是html htm或者是目录格式   伪静态只是改变了URL的表现形式,实际上还是动态页面   静态页面可以节省服务器资源,而伪静态严格说是增加服务器资源消耗的   总结,在SEO方面,伪静态和静态页面的功能是相同的,但是伪静态本质上还是动态页面,所以消耗资源是和动态页面一样的,而且因为Rewrite服务器还需要消耗额外的资源。
VIP
软件编程

赵志东VBA基础入门到高级开发80集

  1~80集完整目录   一、基础知识(8集)   VBA对新手总显得那么神秘,怕自已没基础,担心自已学不会。本章是给VBA零基础的同学准备的VBA入门必备知识。看完本章的内容,你再为自已是否能学会VBA下一个定论。   第1集.宏与VBA   第2集.VBA中的语句、对象、方法与属性   第3集.循环语句   第4集.判断语句   第5集.VBA变量   第6集.函数与公式   第7集.VBE编辑器   第8集.VBA分支与End语句   二、Excel对象操作(11集)   本章是学习如何用VBA操作EXCEL的工作簿、工作表以及单元格。你想自动监控Excel工作表中的数据更改吗?你想让别人无法打开、无法打印、无法查看你指定或所有的EXCEL文件或工作表吗?如果需要,一定要关注本章的第17~19集事件程序。   第9集.Excel文件操作   第10集.Excel工作表   第11集.单元格的选取   第12集.特殊单元格定位   第13集.单元格信息   第14集.单元格格式   第15集.单元格编辑   第16集.单元格查找   第17集.工作表事件程序   第18集.工作簿事件程序   第19集.excel程序事件程序   三、VBA数组与字典(10集)   你总抱怨你的代码运行太慢、看到高手们的代码快如闪电你羡慕不已但又感觉高不可攀。其实你不必这样。你学会了本章的VBA数组,你也可以写出快步如飞的代码。原来2秒、10秒的代码你优化到0.2还感觉不可接受。0.02秒是你追求的目标。如果你学会了兰色原创的下棋法,原来汇总竟能如此的快…几万行的数据竟然在瞬间完成。字典是数组的黄金搭挡,配合字典,VBA数组更是如虎添翼。   第20集.VBA数组-1:数组基础   第21集.VBA数组-2:数组的读取   第22集.VBA数组-3:数组的空间   第23集.VBA数组-4:函数与数组   第24集.VBA数组-5:数组与单元格格式   第25集.VBA数组-6:VBA排序算法之冒泡排序和选择排序   第26集.VBA数组-7:VBA排序算法之插入排序和希尔排序   第27集.VBA字典-1   第28集.VBA字典-2   第29集.VBA数组与字典综合应用之下棋法(兰色原创)   四、VBA自定义函数(2集)   也许你在埋怨自已,为什么我的函数学的这么烂,天书般的数组公式、晕头转向的函数嵌套让你一声叹息。   也许你在埋怨Excel,为什么不提供更多、更实用的函数让我们用。   其实,我们可以自已编写需要的函数。想要什么功能,学完了本章你需要轻敲键盘,一个新的函数在你手中诞生了。同事们惊奇的问你:为什么这个函数我电脑里没有?...
VIP
软件编程

PHP开发工程师(大神进阶搬)

  一-走进PHP后端工程师的世界   二-HTML入门   01-HTML5特性简介   (01)-HTML5简介   (02)-HTML5集成开发环境搭建   (03)-HTML5基础详解   02-HTML5元素、属性和格式化   (01)-HTML5元素简介及使用方法   (02)-HTML5属性使用方法   (03)-HTML5格式化及使用   03-HTML5样式、链接和表格   (01)-HTML5样式的使用   (02)-HTML5链接属性及使用   (03)-HTML5表格使用   04-HTML5列表、块和布局   (01)-HTML5列表的使用   (02)-HTML5块元素标签的使用   (03)-HTML5布局的使用   05-HTML5表单提交和PHP环境搭建   (01)-HTML5表单的创建   (02)-PHP环境搭建   (03)-HTML5表单与PHP交互   06-HTML5框架、背景和实体   (01)-HTML5框架   (02)-HTML5背景   (03)-HTML5实体   07-XHTML的使用规范   三-JavaScript入门   01-JavaScript基础教程   02-JavaScript语法详解   03-JavaScript函数   04-JavaScript异常处理和事件处理   05-JavaScript DOM对象   06-JavaScript事件详解   07-JS事件详解-事件对象   08-JavaScript DOM对象控制HTML元素详解   09-JavaScript浏览器对象   10-JS浏览器对象-Screen对象...