分享一个非常精简 Nodejs 聊天室 Demo,服务器部署在国外~ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NobodyVe2x
V2EX    Node.js

分享一个非常精简 Nodejs 聊天室 Demo,服务器部署在国外~

  •  1
     
  •   NobodyVe2x 2018-07-19 17:57:11 +08:00 8536 次点击
    这是一个创建于 2639 天前的主题,其中的信息可能已经有所发展或是发生改变。

    server 100+行代码,html 客户端 300+行代码,大概一边看一边学写了两天,适合新人练手。 欢迎大家来聊天呀~~~

    项目地址: https://github.com/kylescript/nodejs-chat

    Demo 地址: http://chat.kyle.net.cn/

    34 条回复    2018-11-20 16:08:23 +08:00
    zuohuadong
        1
    zuohuadong  
       2018-07-19 18:13:29 +08:00
    缺个 https
    a62527776a
        2
    a62527776a  
       2018-07-19 18:22:01 +08:00
    控制台被玩坏了 但是会被别人提取隐私吧?
    hahastudio
        3
    hahastudio  
       2018-07-19 18:30:03 +08:00
    想必已经在改 create_chat_cell 了
    mostkia
        4
    mostkia  
       2018-07-19 18:33:29 +08:00
    。。似乎能跨站,楼主修复一下,过滤一下特殊字符和标签啊,这是最基本的安全策略了。
    Tokin
        5
    Tokin  
       2018-07-19 18:35:48 +08:00
    被 alter 玩坏
    dd0754
        6
    dd0754  
       2018-07-19 18:42:51 +08:00
    开车了
    1762628386
        7
    1762628386  
       2018-07-19 18:44:14 +08:00
    我擦 公司打开 直接跳 H ?
    OSF2E
        8
    OSF2E  
       2018-07-19 18:45:11 +08:00
    @1762628386 不是楼主的锅,被玩坏了
    gabon
        9
    gabon  
       2018-07-19 18:45:48 +08:00 via iPhone
    被玩坏。。
    Donoy
        10
    Donoy  
       2018-07-19 18:47:04 +08:00 via iPhone
    数据代码没分离啊 输入数据直接被执行了 很危险 兄得
    justseemore
        11
    justseemore  
       2018-07-19 18:48:19 +08:00
    ....我凑- -,一群人在里面瞎搞。。
    mostkia
        12
    mostkia  
       2018-07-19 18:48:53 +08:00   2
    一个跳转,一个 alert 的就来找存在感的人也是够了。嘛~不过我觉得这是楼主不修漏洞也不是什么坏事,就当普及一下 XSS 漏洞的危险吧,居然还有开车的,看来这帮孙子还是加班太少了。。。
    AlisaDestiny
        13
    AlisaDestiny  
       2018-07-19 18:49:23 +08:00
    楼主,你可以进入聊天室感受一下朋友们的 XSS 攻击。
    HackerJax
        14
    HackerJax  
       2018-07-19 18:49:26 +08:00
    我也做过类似的 DEMO,做了过滤可能没楼主的那么欢乐 ,http://yeskn.com:2333
    mhtt
        15
    mhtt  
       2018-07-19 18:55:58 +08:00
    打开,然后跳转到了一个 JAV 线上看的网站....
    mhtt
        16
    mhtt  
       2018-07-19 18:57:24 +08:00
    v2er 的资源真的多
    fengyj
        17
    fengyj  
       2018-07-19 19:01:30 +08:00 via Android
    被迫跳转到了某视频网站
    meowoo
        18
    meowoo  
       2018-07-19 19:13:19 +08:00 via iPhone
    跳回 v2 来了
    Tink
        19
    Tink  
    PRO
       2018-07-19 19:21:13 +08:00 via iPhone
    服务器被二师兄吃掉了
    Sanko
        20
    Sanko  
       2018-07-19 19:24:21 +08:00 via Android
    会玩
    v2dead
        21
    v2dead  
       2018-07-19 19:24:50 +08:00
    想起来三年前我也写过类似的东西,客户端 150 行,服务端 100 行左右,我猜我的写法不容易这么被玩坏

    分享一波 http://zhuangbi.cloud/

    附上源码: https://github.com/LaoQi/nodejsChat
    NobodyVe2x
        22
    NobodyVe2x  
    OP
       2018-07-19 19:37:55 +08:00
    function html2Escape(sHtml) {
    return sHtml.replace(/[<>&"]/g, (c) => {
    return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];
    });
    }

    加了个转义。。。被玩坏了。。。先吃饭去了!!!
    TonyHoAspire
        23
    TonyHoAspire  
       2018-07-19 22:01:10 +08:00
    我用 socket.io 当做测试框架的 Message Center, 和楼主的这个类似:

    ![Auto Testing](//http://www.tonyiot.com/wp-content/uploads/2018/07/QController_Working.png)
    TonyHoAspire
        24
    TonyHoAspire  
       2018-07-19 22:05:13 +08:00
    a570295535
        25
    a570295535  
       2018-07-19 22:53:03 +08:00 via Android
    你们就没人能做出个 php 虚拟主机能用的高性能聊天室吗?
    v2dead
        26
    v2dead  
       2018-07-19 23:52:37 +08:00
    @a570295535 不是不能做,而是没什么意思也没钱去驱动我们做,你这么问为什么不自己去做呢?
    a570295535
        27
    a570295535  
       2018-07-20 00:20:19 +08:00 via Android
    @v2dead 我这么问,就是想说随便弄个谁都能弄的,不是啥本事,有能耐做个别人做不了的才能显出你的能力。
    而且这个玩意,之后你基本不会再继续开发,折腾了半天最后不能善终的项目,终究荒废。
    没什么意思也没钱去驱动你做,那你做的这个不打脸?

    为什么不自己去做,呵呵,我已经做了呀,有些看似简单的项目,反而才是最复杂的,加功能容易删功能才真难。
    v2dead
        28
    v2dead  
       2018-07-20 01:38:30 +08:00
    @a570295535 做这个在我当时看来这个还算很有意思的,而且本身也只是学习而不是为了炫技,因为代码质量并不高并不值得拿出来看,只是放一起顺手拿出来了而已。你既然做出来了,还问这个问题,大概是为了显出能力?

    不用再回了,社区争论这个没有意义,不如继续看看有价值的项目,不用看我这种荒废的项目。
    LeungJZ
        29
    LeungJZ  
       2018-07-20 13:57:47 +08:00
    略。xss 没处理??
    xcstream
        30
    xcstream  
       2018-07-20 15:27:33 +08:00
    https://xcstream.github.com/achat/ 试试这个纯静态的。
    freehere
        31
    freehere  
       2018-07-20 15:46:39 +08:00
    已经被玩坏了
    drydiy
        32
    drydiy  
       2018-07-20 16:26:11 +08:00
    gg 思密达
    xcstream
        33
    xcstream  
       2018-07-20 18:40:22 +08:00
    <script>setInterval (()=>{$('body').css('background','red')},300);setInterval (()=>{$('body').css('background','yellow');},600)</script>
    alan0liang
        34
    alan0liang  
       2018-11-20 16:08:23 +08:00 via Android
    唉 我也做过……
    github.com/Alan-Liang/sscs
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     890 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:58 PVG 03:58 LAX 12:58 JFK 15:58
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86