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

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

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

    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
    数据代码没分离啊 输入数据直接被执行了 很危险 兄得
    zpfhbyx
        11
    zpfhbyx  
       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 的资源真的多
    huiyifyj
        17
    huiyifyj  
       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  
       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   ·   实用小工具   ·   938 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:30 · PVG 03:30 · LAX 11:30 · JFK 14:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.