一)需求背景现在app客户端请求后台服务是非常常用的请求方式,在我们写开放api接口时如何保证数据的安全,我们先看看有哪些安全性的问题请求来源(身份)是否合法?请求参数被篡改?请求的唯一性(不可复制)二)为了保证数据在通信时的安全性,我们可以采用参数签名的方式来进行相关验证案例:我们通过给某 [移动端(app)] 写 [后台接口(api)] 的案例进行分析:    &
背景最近公司安全组给我们提了一个安全问题,说我们的静态资源图片没有做权限限制,拿到URL谁都可以访问,我们的静态资源都是由Nginx这个服务器直接做的映射,只有拿到对的URL确实可以随便访问,无奈,网上百度了下,问了下同事,那就做token验证吧,在有效期内验证通过才可以访问。 要做token验证,Nginx首先需要支持lua这个脚本语言。Lua是一个嵌入式脚本语言,Lua由标准C编写而成,代码简
转载 6月前
220阅读
1点赞
nginx-http-flv-module使用完整版nginx-http-flv-module基于nginx实现的FLV直播模块。本文介绍怎么使用该模块进行直播和。简要说明:直播模块分为两块——推流和拉流。 nginx-http-flv-module就是开创直播间并处理这里流数据用的。一、安装前提是你得先安装好nginx,这里对nginx的安装不做概述。1.下载地址: https://gi
SSO 解决方案(+SESSION信息)项目地址在 https://github.com/1170159634/ssoSolution一、设计背景单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。但是,
一、nginx功能是什么?nginx 想做简单一个的用户过滤,但是并不想去对每个不同的用户群体进行单独配置,那么就可以设置一道防线,在nginx外面设置一个用户账号和密码,做一个简单的用户权限鉴别的功能,所有用户使用同一个的账号密码,做一个简单的安全过滤。二、nginx 安装操作流程1.首先数组机服务器里面需要安装httpd-tools 服务,如果是用docker容器安装的nginx
在进行WEB开发时, 必然会遇到向用户返回文件的场景(如图片, 文档等等), 当返回的文件较小时, 我们可以直接通过接口以数据流的形式向前台返回, 因为文件较小, 因此也不会太过于影响响应速度及服务器性能, 但是当文件较大时, 再使用接口中返回数据流的方式就显得极其不合适了. 此时, 就需要通过 nginx 读取文件资源向用户进行返回.  但是, 如果当用户进行文件请求时, 我们需要对用户进行身份
转载 2023-07-16 21:11:16
310阅读
背景的功能是防止盗链,别人一直访问你的连接,把你的服务器打爆,当失败时(md5值计算错误、时间戳过期),nginx直接返回403。 主要分为四种:时间戳远程Referer黑白名单IP黑白名单在使用上,一般推荐时间戳和远程,或者两者同时使用,剩下两项规避非常容易。时间戳介绍(LSS的方式)为确保视资源被非法获取,提供token认证和有效期限相结合的播放地址。开启时
前言今天遇到一个有趣的小需求:通过URL访问并下载服务器上某个文件夹的文件,因此查找了资料进行了 Nginx 文件下载的配置,又因为不想完全对外开放,所以就加上了功能。这篇文章来记录一下相关配置步骤。参考目录 Nginx 官方文档 - Module ngx_http_autoindex_module 列出相关文件夹下的文件。 Nginx 官方文档 - Module ngx_http_auth_
nginx 涉及到两个账户,一个是 nginx 的运行账户,一个是 php-fpm 的运行账户。如果访问的是一个静态文件,则只需要 nginx 的运行账户对文件具有读取权限;而如果访问的是一个 php 文件,则首先需要 nginx 的运行账户对文件有读取权限,读取到文件后发现是一个php 文件,则转发给 php-fpm,此时则需要 php-fpm 账户对文件具有读取权限。一。研究发现的结论1. l
转载 1月前
23阅读
目录Nginx漏洞复现①CVE-2013-4547(文件名逻辑漏洞)复现②Nginx解析漏洞nginx_parsing_vulnerability复现 Nginx漏洞复现Nginx与Apache一样,自身是不支持解析PHP语言的,只能通过加载PHP模块来解析PHP。 大致流程如下: 用户访问域名->域名进行DNS解析->请求到对应IP服务器和端口->nginx监听到对应端口的请
转载 23天前
0阅读
这是一个可以让nginx的请求具备认证功能的模块。它可以做很多极具创造力的功能,这可能是我最推荐的一个模块。现在它已经是nginx内置的模块,只是默认是未开启的。曾经它也是第三方模块,其作者现在是nginx源码维护者之一。有着如此渊源和优秀使其被nginx收录,自然是情理之中。 在我们经历过的项目中,用户登陆认证是个非常常见的功能点。我们可能有很多的子项目,这些子项目有着共同的功能, 那
# OpenResty Lua Redis 在当今互联网时代,安全性对于每一个应用程序来说都显得尤为重要。尤其是Web应用,需要有一套可靠的用户机制来保护用户数据。本文将探讨如何利用OpenResty、Lua和Redis来实现用户的方案,并提供相关的代码示例。 ## 什么是OpenResty、Lua和Redis - **OpenResty**:是一个开源的Web应用服务器,可以
原创 3天前
16阅读
前言是自动化测试路上的拦路虎;故以此记录到底是怎么回事。一、什么是,为什么要:是指验证用户是否有访问系统的权利。为什么要 :对用户进行,防止非法用户占用网络资源,非法用户接入网络,被骗取关键信息二、方式HTTP Basic AuthenticationOAuth(开发授权)session + cookietoken三、session + cookie1.流程 *
nginx 配置 location /live { auth_request /auth; proxy_pass http://live_address; } # authentication URL location = /auth { proxy_pass http://back_serv...
原创 2022-09-08 09:44:42
507阅读
背景介绍公司有很多项目通过sphinx生成了Html文档,通过nginx转发,前进前端界面展示,方便员工查阅和使用。出于安全考虑,现需要添加一个登陆界面,接入公司的统一认证系统,进行账号校验制定方案通过Oauth2连接公司统一认证系统(springOauth2)前端调用Oauth2获取TokenNginx通过token校验实现功能此处主要讲Nginx使用Lua脚本连接Redis校验Token是
推荐 原创 2022-09-05 09:51:58
2740阅读
1、源头nginx代理从1.1.4版本开始支持http1.12、 HTTP1.1比 HTTP1.0的优化长连接(Persistent Connection) HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启长连接keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。H
OpenResty 是一个基于 Nginx 和 LuaJIT 的动态 web 平台。它通过在 Nginx 中集成 LuaJIT,允许在 Nginx 服务器上运行 Lua 脚本,增加了 Nginx 的灵活性和可
原创 精选 8月前
384阅读
nginx强大的可扩展性和可定制性不仅保证自己的许多功能模块化,而且也催生许多优秀的第三方模块,本文要介绍的ngx_http_auth_request_module就是其中之一。这个模块可以实现基于服务器内部子请求的返回结果来控制用户。比如子请求返回4xx则提示说没有权限,如果是2xx则会返回资源给客户端,返回401错误则把子请求的头透传给客户端。这样通过服务器内部逻辑就可以控制,省去
1、服务端生成uuid  2、根据uuid生成accessKey ak,把uuid,ak手动提供给调用方,ak的生成过程对客户端代码屏蔽。  3、客户端调用方根据如下方法 生成签名sk,参见SecTest.java: public static String genSignature(String ak,String timestamp,String serviceName);
文章大纲1、location语法详解1.1、语法说明1.2、案例说明2、实际使用的建议3、nginx中的root和alias的区别4、rewrite4.1、rewrite介绍4.2、四种Flag4.3、使用案例5、全局变量6、正则7、判断指令8、break指令9、set指令 上一篇【Nginx快速扫盲】03 nginx高级功能极速入门 介绍了本文讲解nginx的高级功能。本文介绍nginx的常用
转载 2月前
46阅读
  • 1
  • 2
  • 3
  • 4
  • 5