V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
typcn
V2EX  ›  分享创造

纯 C++ 写了一个论坛,求测试

  •  8
     
  •   typcn ·
    typcn · 2015-05-07 19:42:41 +08:00 · 15117 次点击
    这是一个创建于 3292 天前的主题,其中的信息可能已经有所发展或是发生改变。

    BUG 可能很多,缓存溢出啊,XSS 啊都是有可能的,有问题的话告诉我。

    支持 Markdown 发帖回帖,登陆强制使用 Google Twitter GitHub 的 OAuth

    因为很多配置是写死的,而且代码也比较乱,过几天整理一下,然后写个大致的安装教程,就开源到 GitHub 上。

    服务器放在 Google Cloud 上,用了 CloudFlare 的 SSL。

    URL -> https://leanclub.org/

    第 1 条附言  ·  2015-05-07 22:53:24 +08:00
    刚刚 502 的问题已修复,在主数据库连接出现问题,返回了空内容的时候,程序依然会尝试渲染 Markdown ,因为指针不存在返回了,返回之后又尝试释放了一次指针,导致 502 ,现在应该没事了
    182 条回复    2015-07-27 23:35:17 +08:00
    1  2  
    hcymk2
        101
    hcymk2  
       2015-05-08 11:42:24 +08:00
    又502了。。。
    scola
        102
    scola  
       2015-05-08 11:42:29 +08:00
    无法访问, 难道是我的姿势不对
    typcn
        103
    typcn  
    OP
       2015-05-08 11:43:27 +08:00
    @hcymk2 Console 有错误吗?抓包返回是啥? 我这死活遇不到
    typcn
        104
    typcn  
    OP
       2015-05-08 11:45:12 +08:00
    @hcymk2
    @scola 无法访问的话点 Retry for live version ,我在修复一个 BUG
    antspeed
        105
    antspeed  
       2015-05-08 11:45:41 +08:00
    是个不错的尝试,鼓励下。
    typcn
        106
    typcn  
    OP
       2015-05-08 12:00:01 +08:00
    502 的问题应该彻底修复了,是一个内存释放错误,双重释放了内容
    huixsx
        107
    huixsx  
       2015-05-08 12:15:45 +08:00
    你的https链接有问题,用的自签名证书
    lsmgeb89
        108
    lsmgeb89  
       2015-05-08 12:29:41 +08:00
    不能点下一页吗?
    typcn
        109
    typcn  
    OP
       2015-05-08 12:30:33 +08:00
    @lsmgeb89 我用的 Chrome 很正常啊,你是什么浏览器?
    @huixsx HTTPS 没有任何问题,是 CloudFlare 的证书,如果不是 XP 系统,是可以正常访问的
    lsmgeb89
        110
    lsmgeb89  
       2015-05-08 12:37:35 +08:00
    @typcn Firefox 37.0.2
    bugeye
        111
    bugeye  
       2015-05-08 12:40:08 +08:00
    数据多了,性能不是应该无限接近数据库操作的速度吗?不懂楼上和测试论坛里 “很快”的说法有依据吗?
    typcn
        112
    typcn  
    OP
       2015-05-08 12:40:26 +08:00
    @lsmgeb89 我这里没有 FF ,所以没有测试,一会看看
    typcn
        113
    typcn  
    OP
       2015-05-08 12:42:21 +08:00
    @bugeye 服务器是国外,但是网页打开很快,再加上 ajax 请求,点击链接秒开,是指的这个
    typcn
        114
    typcn  
    OP
       2015-05-08 12:48:07 +08:00
    @huixsx 非常抱歉!!刚刚 CloudFlare 设置错了,现在修复了!
    laoyur
        115
    laoyur  
       2015-05-08 12:51:18 +08:00
    原来是typcn,换头像了,愣是没认出来
    hcymk2
        116
    hcymk2  
       2015-05-08 12:51:37 +08:00
    @typcn
    那个点击下一页 之后页面直接显示false问题 是用火狐出现的。
    控制台没错误。
    而且之后会发现有个类似请求 api/node/3?__t 会阻塞住。
    并且如果直接用火狐的返回上一页的话,有一定几率出现不信任的站点提示。

    我之后换了chrom之后就无法重现了。
    typcn
        117
    typcn  
    OP
       2015-05-08 12:59:41 +08:00
    @hcymk2 一会下载一个火狐分析下
    mclxly
        118
    mclxly  
       2015-05-08 14:37:26 +08:00
    楼主NB,C++的老猿出来赞一下
    binux
        119
    binux  
       2015-05-08 14:43:02 +08:00
    用过 python 之后,再也回不去用 C++ 写这种东西了。
    jayzhong
        120
    jayzhong  
       2015-05-08 14:43:50 +08:00
    楼主,我想问ssl 证书哪买的,我也想弄一个
    typcn
        121
    typcn  
    OP
       2015-05-08 14:48:18 +08:00
    @binux 确实,高级语言写这个非常简单
    @jayzhong 我的证书是用的 CloudFlare 免费送的,买证书可以上某宝,7块钱一个
    typcn
        122
    typcn  
    OP
       2015-05-08 14:55:13 +08:00
    修复还是崩溃了几次,然后我用 Clang 编译程序,不用 GCC
    好了!!
    原来是编译器 BUG !!
    ZHenJ
        123
    ZHenJ  
       2015-05-08 15:25:36 +08:00
    用C++写web每次修改重新编译的时候会有种“啊哈哈”的感觉。。。
    owlsec
        124
    owlsec  
       2015-05-08 15:27:09 +08:00
    -.-G+ 登录不了 提示 auth failed。。。。
    dog999
        125
    dog999  
       2015-05-08 15:34:55 +08:00
    开源吧
    typcn
        126
    typcn  
    OP
       2015-05-08 15:41:31 +08:00
    @ZHenJ 不仅“啊哈哈”还会 502 “草草草”,刚刚弄了线路容灾。。
    @owlsec 重新登陆一下试试,可能是授权超时了
    @dog999 过几天吧,我放到 GitHub
    dog999
        127
    dog999  
       2015-05-08 15:46:04 +08:00
    向新人学习.
    des
        128
    des  
       2015-05-08 16:24:26 +08:00
    竟然看到铜芯豪了,后排抱大腿
    kalasoo
        129
    kalasoo  
       2015-05-08 17:11:52 +08:00
    真的很可怕!
    typcn
        130
    typcn  
    OP
       2015-05-08 17:22:15 +08:00
    @hcymk2 我下载了 Firefox ,但是还是没法重现这个问题。。。
    ibigbug
        131
    ibigbug  
       2015-05-08 18:10:55 +08:00
    在如此 hardcore 的牛逼货面前,样式已经不重要了 = =
    chairuosen
        132
    chairuosen  
       2015-05-08 18:29:34 +08:00
    话说登录总被CloudFlare的验证码拦截咋回事,无限刷验证码了
    typcn
        133
    typcn  
    OP
       2015-05-08 18:31:34 +08:00
    @chairuosen 输入了验证码还是提示验证码?是不是你的 IP 地址一直变?挂个代理试试?
    chairuosen
        134
    chairuosen  
       2015-05-08 18:34:00 +08:00
    @typcn 开了翻墙后首页都被验证码了
    saybye
        135
    saybye  
       2015-05-08 18:34:32 +08:00
    开源吗?
    chairuosen
        136
    chairuosen  
       2015-05-08 18:35:58 +08:00
    @typcn 好了,在验证码那里强制走代理,输一遍就过了
    typcn
        137
    typcn  
    OP
       2015-05-08 18:40:32 +08:00
    @saybye 过段时间就开源,现在代码有点渣
    GPU
        138
    GPU  
       2015-05-08 18:41:34 +08:00
    好像学习C++ 。关注
    shnjnchg
        139
    shnjnchg  
       2015-05-08 19:21:08 +08:00
    用户界面还是 404,是还没有做吗?
    typcn
        140
    typcn  
    OP
       2015-05-08 19:31:21 +08:00
    @shnjnchg 我在做了,还没放到服务器上
    typcn
        141
    typcn  
    OP
       2015-05-08 20:18:14 +08:00
    用户信息有点不好实现啊。。。回复直接在主题的 JSON 里面。。
    limhiaoing
        142
    limhiaoing  
       2015-05-08 20:49:43 +08:00   ❤️ 1
    用了boost.asio就不能算是纯C++了,C++要到C++ TS (C++17之前) 才支持Networking。
    我也用boost.asio写过一个HTTP Proxy https://github.com/lxrite/azure-http-proxy。
    aphay
        143
    aphay  
       2015-05-08 21:06:59 +08:00
    500 Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request. Sorry for the inconvenience.
    Please report this message and include the following information to us.
    Thank you very much!

    URL: http://leanclub.org/
    Server: instance-1
    Date: 2015/05/08 13:06:45
    TYPCNWebEngine / Tengine:2.1.0 Nginx:1.7.10 WAF:0.0.2
    limhiaoing
        144
    limhiaoing  
       2015-05-08 21:12:47 +08:00
    看了下楼主的github莫非这个论坛是用的crow?
    mV2GK
        145
    mV2GK  
       2015-05-08 21:27:35 +08:00
    卧槽,楼主才16岁。。。
    typcn
        146
    typcn  
    OP
       2015-05-08 21:37:07 +08:00
    @limhiaoing 是啊,用的 Crow 但是原版觉得不太适合做这个论坛,做了很多修改,所以 BUG 可能是我自己改出来的
    lufeng6
        147
    lufeng6  
       2015-05-08 21:55:01 +08:00
    刷新的感觉很爽
    invite
        148
    invite  
       2015-05-08 22:52:14 +08:00
    直接把服务器整合进去了?
    zonghua
        149
    zonghua  
       2015-05-09 01:12:41 +08:00 via iPhone
    无比佩服,浏览体验很好啊
    zchzch1014
        150
    zchzch1014  
       2015-05-09 02:13:52 +08:00 via iPhone
    好喜欢这种样子,开源了一点第一时间放在自己服务器上跑一下
    loading
        151
    loading  
       2015-05-09 09:07:24 +08:00
    我敢说,这里超过一半的人被前端的效果给骗了。
    typcn
        152
    typcn  
    OP
       2015-05-09 09:46:49 +08:00 via iPhone
    @loading 前端效果半中间加上去的,刚开始并没有
    typcn
        153
    typcn  
    OP
       2015-05-09 09:59:45 +08:00
    真的很抱歉,昨晚太瞌睡了,写错配置文件了,结果循环重定向,现在应该好了
    loading
        154
    loading  
       2015-05-09 10:15:09 +08:00
    有考虑用 Go 吗?
    typcn
        155
    typcn  
    OP
       2015-05-09 11:01:54 +08:00
    @loading 我想多学一点 CPP ,于是现学现用写出来了
    loading
        156
    loading  
       2015-05-09 11:18:57 +08:00
    先把功能写出来,热度不错的话,再考虑改成库,别太提前考虑通用性。
    typcn
        157
    typcn  
    OP
       2015-05-09 11:37:55 +08:00
    @loading 现在就是在加功能,CloudFlare 好像完全被墙了,只好去掉了
    typcn
        158
    typcn  
    OP
       2015-05-09 11:55:09 +08:00
    现在不用 CF 也打开飞快了,虽然服务器在国外,速度绝对不输国内网站
    raincious
        159
    raincious  
       2015-05-09 12:39:33 +08:00
    楼主,悄悄告诉我,做了这个之后你有没有理解为啥会有PHP这样的语言出现了……?
    typcn
        160
    typcn  
    OP
       2015-05-09 13:20:45 +08:00   ❤️ 1
    @raincious 说实话,用了框架之后也不很难,但是稍有不慎,代码就有各种 BUG 而且还相当难修。

    PHP 确实简单。。。简单爆了
    leisurelylicht
        161
    leisurelylicht  
       2015-05-09 22:23:05 +08:00
    卧槽原来C++还可以写网站的,膜拜!
    typcn
        162
    typcn  
    OP
       2015-05-09 22:44:32 +08:00
    @leisurelylicht C++ 什么都能写的,只是比其他语言难的多
    leisurelylicht
        163
    leisurelylicht  
       2015-05-09 23:27:27 +08:00
    @typcn 我觉得我C++白学了……什么都做不出来
    typcn
        164
    typcn  
    OP
       2015-05-09 23:31:34 +08:00
    @leisurelylicht 其实多用用 Google GitHub Stackoverflow,有了社区的力量,干什么都会方便的很多
    typcn
        165
    typcn  
    OP
       2015-05-09 23:33:25 +08:00
    @leisurelylicht 我写这个之前 C++ 会的非常少,写的时候两个屏幕一直开着,一个 Google 搜,一个写

    写完了之后发现技术涨了不少,会了很多新东西,慢慢积累,多写写就能熟练了,感觉比看理论/教程 强了不知道多少倍
    leisurelylicht
        166
    leisurelylicht  
       2015-05-09 23:39:14 +08:00
    @typcn 也就是说你先定了一个目标“用C++写一个论坛”,然后google如何做到,然后根据网上的内容一点点做。
    可是这样学习不会使得学习的知识很碎片化吗?
    typcn
        167
    typcn  
    OP
       2015-05-10 02:03:23 +08:00
    @leisurelylicht 写多了,有些东西,不用去搜自然就会了。。 当然有的时候我还是会去看一下系统的教程,这样可以补充一下空缺。
    typcn
        168
    typcn  
    OP
       2015-05-10 02:05:24 +08:00
    @hcymk2
    @lsmgeb89
    @phx13ye

    Firefox 的兼容问题已经完全修复,我已经使用 Firefox 检查了一遍所有功能,修复了几个问题,现在应该不会有翻页 false ,日期不显示的问题了
    typcn
        169
    typcn  
    OP
       2015-05-10 02:06:40 +08:00
    另外:今天被防火墙 block 遇到 Access Deined 的人非常抱歉,手写的 nginx 防火墙所以有点 bug,我代码读了配置文件,但是没有使用配置文件里的值。 20 秒 20 次请求,变成了 300 秒 20 次请求,
    bdbai
        170
    bdbai  
       2015-05-10 11:21:08 +08:00
    刚登录,-1条提醒是什么情况?
    ![-1条提醒](http://bdbaifr1.qiniudn.com/image/wp_ss_20150510_0002.png)
    bdbai
        171
    bdbai  
       2015-05-10 11:23:41 +08:00
    typcn
        172
    typcn  
    OP
       2015-05-10 11:24:14 +08:00 via iPhone
    @bdbai 失误失误,数据库没有记录的时候,返回了-1,没有处理就显示出来了
    bdbai
        173
    bdbai  
       2015-05-10 11:30:40 +08:00
    @typcn btw,v2上怎么用md? 上面两个都悲催了
    typcn
        174
    typcn  
    OP
       2015-05-10 11:38:59 +08:00 via iPhone
    @bdbai v2只支持新浪和imgur,回复不支持markdown,
    leisurelylicht
        175
    leisurelylicht  
       2015-05-10 17:15:04 +08:00
    @typcn 多谢指教!
    lirau
        176
    lirau  
       2015-05-10 17:27:45 +08:00
    右边导航 失效 500 Internal Server Error
    r00tt
        177
    r00tt  
       2015-05-10 19:50:33 +08:00
    @laoyur 你还没换头像~~
    typcn
        178
    typcn  
    OP
       2015-05-10 20:13:59 +08:00
    @leepood 这个头像比较低调,不容易在人群中被发现
    jedihy
        179
    jedihy  
       2015-05-16 08:35:30 +08:00 via iPhone
    @typcn 我只用C,感觉你的问题90%不是编译器的问题,是程序内存释放出错或者溢出。然后换了编译器编译出来的程序运行时内存布局很跟原来有点区别,导致没有触发这个问题。
    typcn
        180
    typcn  
    OP
       2015-05-16 18:31:48 +08:00
    @jedihy 现在已经搞定了,是内存溢出,在参数为空的时候,alloc 的长度有问题,导致 free 的时候出问题了
    Ender233
        181
    Ender233  
       2015-07-27 23:26:41 +08:00
    @typcn 这个有没有主要参考的教程啊.
    typcn
        182
    typcn  
    OP
       2015-07-27 23:35:17 +08:00
    @Ender233 找到 Web 框架之后,看看怎么用,构思一下要写什么,然后不会的 Google 搜

    搞基需要摸索~ yo 需要练习~
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2669 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:33 · PVG 12:33 · LAX 21:33 · JFK 00:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.