V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
aoooo
V2EX  ›  问与答

终于体会到了 12306 上变态验证码的心情

  •  
  •   aoooo · 2017-11-29 10:21:48 +08:00 · 2710 次点击
    这是一个创建于 2583 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬勿喷...

    同事做了个抢会议室的功能,可以抢订后三天的会议室,每天固定时间段才能进入抢会议室的界面,进入抢会议室界面以后先用日历控件选日期,然后就可以点击按钮抢会议室

    放出去被其它部门的一个测试工程师各种破,每天都把会议室占着,各部门意见都很大(电话打爆了

    一开始是因为使用的日历控件获取的是本地的时间,改电脑本地时间就可以预定后很多天的会议室,后来这个问题在我的帮助下解决了,

    以为可以消停了,可是......今天电话又来了,说那个工程师还是一样每天把会议室占着,然后我一想,莫不是用了点击脚本?,然后跟同事说,不如......

    加验证码吧,验证码长一点,模糊一点,越变态越好......(心酸:这时候真想紧紧的抱住 12306 的开发美眉,美眉啊美眉,以后我抢火车票再也不骂你们的验证码了(苦笑:长大后我也成了你

    其实我也知道验证码可以绕过去...不过想想那位工程师应该还不至于,毕竟公司电脑都是有 USB 权限的

    不知道 V 友们有什么迎接挑战的绝招?

    第 1 条附言  ·  2017-12-01 10:21:26 +08:00
    好吧,最终还是下了行政处罚,重点在于那位工程师抢了会议室没有使用,被主管部门拍照了...
    20 条回复    2017-11-29 18:48:42 +08:00
    alexsunxl
        1
    alexsunxl  
       2017-11-29 10:24:06 +08:00
    用现成的服务吧, 我们现在就是用钉钉的会议室功能
    fzleee
        2
    fzleee  
       2017-11-29 10:26:29 +08:00   ❤️ 1
    问题的实质矛盾在于会议室不够用,开发软件不能从根本解决问题
    mokeyjay
        3
    mokeyjay  
       2017-11-29 10:28:23 +08:00   ❤️ 1
    你那同事 菜 /不上心 得可以啊,服务端验证被吃了?
    zpf124
        4
    zpf124  
       2017-11-29 10:31:21 +08:00
    1 这种限期的期限不应该是后台用服务器时间计算后传给客户端的么...
    2 申请表单提交之后没有期限校验么...
    3 这种表单可以带一个 token 用隐藏域或者 cookie 传递,刷新页面就返回新的 token 旧的自动失效。
    4 你们这都内网了,肯定不用像公网服务器一样担心误封整个片区,整个网吧之类的情况,
    所以记录 ip,页面给提示个本小时内该 ip 的访问次数,到达频繁刷票的阈值(比如半个小时访问超过 300 次)时,直接禁止该 ip 4 个小时内提交申请。
    aoooo
        5
    aoooo  
    OP
       2017-11-29 10:32:50 +08:00
    @mokeyjay 脚本自动点击怎么破?
    zangbob
        6
    zangbob  
       2017-11-29 10:33:33 +08:00
    你为什么想抱 12306 的开发美眉?美眉是你想抱就能抱的吗?

    净想好事儿。。
    zpf124
        7
    zpf124  
       2017-11-29 10:33:57 +08:00
    另外 后端都没有校验... 这是真的菜...
    aoooo
        8
    aoooo  
    OP
       2017-11-29 10:34:23 +08:00
    @fzleee 领导爱开会,加上各部门领导多,会议室很难够用的
    zhs227
        9
    zhs227  
       2017-11-29 10:35:11 +08:00
    找老板,下一条行政规定,脚本抢会议室发现一律开除,然后干掉一个,就没有第二个了。
    zpf124
        10
    zpf124  
       2017-11-29 10:36:46 +08:00
    @aoooo 你们后台提交有校验吗? 如果没有 你改了时间控件卵用没有。

    谁会这么二 都写脚本了还模拟点击 那么麻烦,直接模拟发请求既简单又高效。
    goodryb
        11
    goodryb  
       2017-11-29 10:40:38 +08:00
    技术不行就用制度来保证,参考月饼事件
    juneszh
        12
    juneszh  
       2017-11-29 10:42:07 +08:00
    没有解决问题 1,反而制造了问题 2,还引起了问题 34567
    zjuster
        13
    zjuster  
       2017-11-29 10:44:46 +08:00
    你们这是一个内部工具,如果不变现,不需要考虑这么复杂的功能。
    应该用制度搞定。
    SourceMan
        14
    SourceMan  
       2017-11-29 10:48:30 +08:00
    行政命令能解决的事非得用技术来防范
    haddy
        15
    haddy  
       2017-11-29 10:56:01 +08:00
    使用账户系统。按部门、团队分配账户,不允许自助注册。然后每个账户在一定时间内的申请次数有限制,超过一定次数,优先级调低。比如说,优先级高的可以提前 5 天申请,而优先级低的只能提前 1 天申请,甚至不能申请。
    phy25
        16
    phy25  
       2017-11-29 10:59:14 +08:00 via Android
    然而 12306 的验证码是第三方的: http://www.touclick.com/
    mohoumk2
        17
    mohoumk2  
       2017-11-29 11:01:48 +08:00 via Android
    不应该是 其他部门的测试工程师 的锅吗?一个人占着会议室
    lion9527
        18
    lion9527  
       2017-11-29 11:20:27 +08:00 via iPhone
    验证码做的烂跟能否解决问题是两码事
    feng1234
        19
    feng1234  
       2017-11-29 11:23:40 +08:00
    干嘛一定要技术解决,直接让人事预定好了,每个部门需要的时候就去说一下
    w0nglend
        20
    w0nglend  
       2017-11-29 18:48:42 +08:00
    所以你是 Q 厂的?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5774 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:42 · PVG 09:42 · LAX 17:42 · JFK 20:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.