文档章节

使用nginx+lua+lua-baselib,加速cookie、token验证

布几岛
 布几岛
发布于 2017/09/09 10:24
字数 406
阅读 49
收藏 2
点赞 0
评论 0

  对于目前的大部分网站或app来说,调用最频繁的接口就是验证登陆的状态,也就是cookie或token校验。

使用nginx+lua+lua-baselib这种方案能极大地提高处理效率。在目前的测试中,同样的环境下,这种方案对比nginx+php-fastcgi,QPS能提高八倍以上。

      lua-baselib模块新加入了openssl的加解密算法,考虑到openssl初始化的性能问题,默认只开启了AES加密算法。AES算法安全程度和效率都很高,在加密cookie、token时建议使用这种加密方式。在baselib中使用openssl方式与php基本中一致,与php也能互相加解密。示例如下:

在lua中调用:

local baselib = require 'baselib'

str = '你好,世界'
method = 'AES-128-CBC'
secret_key = '123456'
padding = 'OPENSSL_RAW_DATA'--这里是字符串
iv = '1234567890abcdef'

enc = baselib.openssl_encrypt(str, method, secret_key, padding, iv)
dec = baselib.openssl_decrypt(enc, method, secret_key, padding, iv)

在php中调用:

<?php
$str = '你好,世界';
$method = 'AES-128-CBC';
$secret_key = '123456';
$padding = OPENSSL_RAW_DATA;//这里是常量
$iv = '1234567890abcdef';

$enc = openssl_encrypt($str, $method, $secret_key, $padding, $iv);
$dec = openssl_decrypt($enc, $method, $secret_key, $padding, $iv);

在生产环境中使用lua-baselib需开启nginx中lua_code_cache配置项,能保证性能发挥到极致。

lua-baselib项目地址:https://github.com/dengqiang2015/lua-baselib
关于更多lua-baselib的介绍:https://my.oschina.net/u/554660/blog/1305310

 

© 著作权归作者所有

共有 人打赏支持
布几岛
粉丝 6
博文 37
码字总数 10513
作品 0
海淀
高级程序员
Cookie和Token

前言 本文将首先概述基于cookie的身份验证方式和基于token的身份验证方式,在此基础上对两种验证进行比较。 最后将介绍JWT(主要是翻译官网介绍)。 概述 HTTP是一个“无状态”协议,这意味着...

黄索远
2017/08/12
0
0
服务器session和jwt之争

session session和cookie的目的相同,都是为了克服http协议无状态的缺陷,但完成的方法不同。session通过cookie,在客户端保存session id,而将用户的其他会话消息保存在服务端的session对象...

zyt_1978
2016/04/17
280
0
Express + JWT用户认证最轻实践

最近给自己列了一个list,Ummm...列来列去大概是下面这个样子: React SSR服务端渲染 jwt用户认证 Vue全家桶 微信小程序开发 ... 等等 好吧,谁让自己菜呢,没什么好抱怨的,一个一个来吧。正...

luffyZhou
05/28
0
0
跨域 Cookie 实现单点登录

单点登录 单点登录(SSO - Single Sign On):对于同一个客户端(例如 Chrome 浏览器),只要登录了一个子站(例如 a.com),则所有子站(b.com、c.com)都认为已经登录。 比如用户在登录淘宝...

990653058
2015/05/30
0
0
基于 Token 的身份验证

传统身份验证的方法 HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候...

笨小熊
2016/11/19
94
0
Java Token的原理和生成使用机制

在此之前我们先了解一下什么是Cookie、Session、Token 1、什么是Cookie? cookie指的就是浏览器里面能永久存储数据的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以...

心月狐
05/18
0
0
session和token的安全认证

现在貌似大多数网站用户认证都是基于 session 的,即在服务端生成用户相关的 session 数据,而发给客户端 sesssionid 存放到 cookie 中,这样用客户端请求时带上 sessionid 就可以验证服务器...

BobwithB
06/16
0
0
手机端和网页端使用同一后台时进行会话控制的一种思路

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.背景 Web端的一次成功的登陆请求后,cookie中会保存此次回话的sessionID,再点击其他...

李晓晖
2015/04/25
0
0
安全cookie登录状态设计方案

我们知道web是基于HTTP协议传输的,明文传输是极其危险的,一个加密的传输过程应该包括两部分, 一部分为身份认证,用户鉴别这个用户的真伪;另外一部分为数据加密,用于数据的保密。 我大概...

行云流水8848
2015/08/11
0
0
JavaWeb - Cookie

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。 1,内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。 2,硬盘Cooki...

-蒋全忠-
2015/05/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
6
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0
There is no session with id[xxx]

参考网页 https://blog.csdn.net/caimengyuan/article/details/52526765 报错 2018-07-19 23:04:35,330 [http-nio-1008-exec-8] DEBUG [org.apache.shiro.web.servlet.SimpleCookie] - Found......

karma123
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部