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

用 C 写一个 session 机制,无从下手啊

  •  
  •   z21victor · 2015-05-21 10:38:55 +08:00 · 3353 次点击
    这是一个创建于 3481 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2015-05-22 10:44:04 +08:00
    Septembers
        1
    Septembers  
       2015-05-21 10:53:34 +08:00 via Android
    z21victor
        2
    z21victor  
    OP
       2015-05-21 11:10:54 +08:00
    @Septembers why?
    typcn
        3
    typcn  
       2015-05-21 11:24:33 +08:00 via iPhone
    use hiredis
    mahone3297
        4
    mahone3297  
       2015-05-21 11:26:04 +08:00
    session?存文件?读写文件?无从下手?
    z21victor
        5
    z21victor  
    OP
       2015-05-21 11:35:53 +08:00
    @mahone3297 管理页面,用户登录,rand一个值,发给浏览器,检验的session的时候,get浏览器的cookie,这样可行不?
    mahone3297
        6
    mahone3297  
       2015-05-21 11:56:07 +08:00
    @z21victor
    session,好像不需要管理页面。不过要加也可以。
    一个请求过来,rand一个值,放在cookie里
    返回给浏览器
    请求再次过来的时候,获取cookie,检测session
    基本上也就是你上面说的
    mahone3297
        7
    mahone3297  
       2015-05-21 11:56:53 +08:00
    @z21victor 然后,就session放在那里,可以有多个地方存储。比如文件,db,第三方服务等。。。
    z21victor
        8
    z21victor  
    OP
       2015-05-21 11:58:54 +08:00
    @mahone3297 一个类似路由器的产品,我想通过session管理非法登录,比如直接输入一个内部的url。恩,我试试!
    z21victor
        9
    z21victor  
    OP
       2015-05-21 11:59:56 +08:00
    @mahone3297 想着是写入文件。
    sy1989
        10
    sy1989  
       2015-05-21 12:10:41 +08:00
    我记得tplink好像现在直接把密码转换加在cookie里面了
    jimrok
        11
    jimrok  
       2015-05-21 12:40:30 +08:00
    加密一个token写入cookie。
    z21victor
        12
    z21victor  
    OP
       2015-05-21 13:42:07 +08:00
    @sy1989 登录管理页面的密码?
    sy1989
        13
    sy1989  
       2015-05-21 13:46:21 +08:00
    @z21victor 是的
    jacob
        14
    jacob  
       2015-05-22 10:08:06 +08:00
    mac地址+hash存储在用户本地.服务端存储mac地址,salt,token

    1.先判断mac地址是否在黑名单中
    2.将mac地址+hash+salt加密后与token对比,如果匹配则登录成功,重新生成hash和token.
    z21victor
        15
    z21victor  
    OP
       2015-05-22 10:44:04 +08:00
    @jacob 我现在是根据ip,原开发包有。十分感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2670 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 11:49 · PVG 19:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.