首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  Lua

正在用 lua 写一个 nginx 防盗链的拓展,遇到了一个问题。

  •  
  •   odoooo · 2016-05-22 17:32:32 +08:00 · 4043 次点击
    这是一个创建于 1302 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大概流程是这样

    web 应用层,

    md5(IP.文件路径.其他固定信息如 UA 啥的) 存进 redis ,并作为 url 中的 hash 。

    nginx 里, ngx.md5(IP.文件路径.其他固定信息如 UA 啥的)对比连接中的 hash 并读取 redis 查到时间戳。

    判断时间戳是否失效。

    现在想吧 UID 也放进去,不知道有什么好方法能做到避免伪造和验证用户是否登录。只有给 nginx+lua 写 cookie+session 来验证吗?

    nginx.lua 上面不方便读 MySQL 数据库的~~.

    谢谢诸位,

    5 回复  |  直到 2016-05-22 19:54:29 +08:00
        1
    LazyZhu   2016-05-22 17:42:01 +08:00
        2
    odoooo   2016-05-22 17:44:02 +08:00
    @LazyZhu 谢谢回复,这个看了,不想用 MySQL 。。。难道只有 cookie+session 了么。。。
        3
    nealfeng   2016-05-22 17:51:31 +08:00
    也许可以用:
    X-Accel-Redirect 在 web 层做判断
        4
    binux   2016-05-22 18:17:32 +08:00
    对 UID 签名
        5
    fcicq   2016-05-22 19:54:29 +08:00
    明明早就有 ngx_http_secure_link_module 了不是吗? 用户拿到链接必然就只能假定他能够拿到文件了, 盗链过强意义不大
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4186 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 09:17 · PVG 17:17 · LAX 01:17 · JFK 04:17
    ♥ Do have faith in what you're doing.