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

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

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

    大概流程是这样

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