仍然是图床(文件床) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Famio
V2EX    分享创造

仍然是图床(文件床)

  •  
  •   Famio 2018-01-03 09:55:20 +08:00 6594 次点击
    这是一个创建于 2856 天前的主题,其中的信息可能已经有所发展或是发生改变。
    地址: https://www.v2url.com
    特点:MDUI、批量、又拍云、鉴黄
    不敢说有多好用,刚把大部分功能完成,再慢慢迭代了。接入了又拍云,访问确实比自己服务器做空间快很多。
    各位可以收藏一下,以做备用。
    有什么好的建议和意见都会采纳。
    第 1 条附言    2018-01-05 16:25:12 +08:00
    我去,果然有点上传黄图。正好测试下又拍的鉴黄功能,可以。
    36 条回复    2018-03-10 23:30:05 +08:00
    roricon
        1
    roricon  
       2018-01-03 10:07:03 +08:00
    jy02201949
        2
    jy02201949  
       2018-01-03 10:07:19 +08:00
    之前已经收藏了,感谢分享,接又拍不怕人家黑你每月整个几千大洋的账单?
    Famio
        3
    Famio  
    OP
       2018-01-03 10:20:18 +08:00
    @jy02201949 ()嗨,有这种担忧的,我都会天天看一下流量,慢慢完善了
    gauzeehom
        4
    gauzeehom  
       2018-01-03 10:44:09 +08:00
    我竟然收藏过
    geekyoung
        5
    geekyoung  
       2018-01-03 10:54:08 +08:00
    @roricon 不能
    aino
        6
    aino  
       2018-01-03 11:41:23 +08:00
    神马文件都可以上传 会不会很危险啊
    xiqingongzi
        7
    xiqingongzi  
       2018-01-03 11:43:00 +08:00
    点击左下角按钮不能跳转到你的博客,chrome 版本 63.0.3239.84 (正式版本) ( 64 位)
    EchoChan
        8
    EchoChan  
       2018-01-03 11:43:53 +08:00 via iPhone
    @roricon 评论区不支持 markdown,且只支持三个图床。
    Famio
        9
    Famio  
    OP
       2018-01-03 11:45:22 +08:00
    @aino 确实什么都能传,但是又拍会把文件 encoding,比如 php 文件 torrent 文件直接访问是文本格式的,不会执行。安全问题我会再改善一下,非常感谢!

    @xiqingongzi 哈哈,这个需要点“作”那个图标,只是先临时做个链接上去,感谢!
    fumichael
        10
    fumichael  
       2018-01-03 11:54:36 +08:00
    重复上传同一个文件是不是检查是不是同一个文件的,然后返回的链接是同一个链接的?
    Famio
        11
    Famio  
    OP
       2018-01-03 11:56:57 +08:00
    @fumichael 没错,重复文件返回的是同一个链接。
    szxczyc
        12
    szxczyc  
       2018-01-03 12:59:35 +08:00 via iPhone
    我收藏过后来就打不开了。找了好久
    Famio
        13
    Famio  
    OP
       2018-01-03 13:04:58 +08:00
    @szxczyc 这个要和你道个歉,因为期间在重新规划内容,所以停站了一段时间,现在新版本上了,以后就是迭代的了,感谢你的支持!
    szxczyc
        14
    szxczyc  
       2018-01-03 13:18:26 +08:00 via iPhone
    @Famio #13 ()支持!
    jiqing
        15
    jiqing  
       2018-01-03 13:56:53 +08:00 via Android
    求开源
    Famio
        16
    Famio  
    OP
       2018-01-03 14:26:39 +08:00
    @jiqing 这个开不开源已经没啥意义了,因为用的大部分开源插件&框架都列出了,自己也就是做个 UI,搭个桥罢了。
    jiqing
        17
    jiqing  
       2018-01-03 14:33:01 +08:00 via Android
    @Famio 我就是菜鸟需要项目练练...求代码
    TangMonk
        18
    TangMonk  
       2018-01-03 14:36:15 +08:00 via Android
    担心楼主流量
    LH0811
        19
    LH0811  
       2018-01-03 15:11:41 +08:00
    楼主要是开放 api 就方便了
    cy97cool
        20
    cy97cool  
       2018-01-03 15:15:31 +08:00
    @Famio upyun 的表单上传 API 不是这么用的。。。。直接把 form_api_secret 写在 js 里面就意味着任何人都可以上传 /覆盖任意内容

    正确的做法是实现一个服务端,用户需要上传的时候服务器执行签名算法返回 signature,以保证用户不会篡改 policy 任意上传

    写了个 python 来上传 index.html:

    ```
    import time
    from hashlib import md5
    import json
    import requests
    import base64
    optiOns= {
    'bucket': 'oss-v2url',
    'save-key': '/index.html',
    'expiration': int(time.time()) + 86400
    }
    form_api_secret = '5LOuSvluJ5F/TQjEd2XE3IqKAdw='
    policy = base64.b64encode(json.dumps(options).encode('utf-8')).decode()
    signature = md5((policy + '&' + form_api_secret).encode('utf-8')).hexdigest()
    x=requests.post("https://v0.api.upyun.com/"+options['bucket'], files=[('Filename','${filename}'),('Content-Type',''),('policy',policy),('signature',signature),('file',('index.html',open('index.html','rb'),'text/html'))])
    print(x)
    print(x.headers)
    print(x.text)
    ```

    效果,不过反正你设置了 text/plain 影响不大:

    https://oss.v2url.com/2018/01/03/5fa4e6e0755fc504279c227fad64707f.jpg
    fumichael
        21
    fumichael  
       2018-01-03 16:37:28 +08:00
    @Famio 同一个文件是检查文件的 md5 之类的数据吗?文件命名是什么规则的,请教下,打算完善下文件上传的程序。
    Famio
        22
    Famio  
    OP
       2018-01-03 16:41:11 +08:00
    @cy97cool 道理我都懂,我为了先完成功能使用了表单 api 来上传,我也知道明写在 js 中有隐患的,后面再改进下。谢谢兄弟提醒
    cy97cool
        23
    cy97cool  
       2018-01-03 17:03:34 +08:00
    @fumichael 看 js 咯 https://www.v2url.com/asset/main.js
    'save-key': '/{year}/{mon}/{day}/{filemd5}{.suffix}',

    看出是文件 md5 作为文件名,这个过程是 upyun 完成的

    不过 form_api_secret 泄露的情况下,你可以任意指定文件存储的 key,也可以任意覆盖别人上传的图片
    fumichael
        24
    fumichael  
       2018-01-03 17:24:50 +08:00
    @cy97cool 谢谢,还真是这个办法。
    jsgcs
        25
    jsgcs  
       2018-01-03 18:14:48 +08:00
    @xiqingongzi 我也是
    jsgcs
        26
    jsgcs  
       2018-01-03 18:17:16 +08:00
    文件大小有限制么
    jsgcs
        27
    jsgcs  
       2018-01-03 18:19:14 +08:00
    @jsgcs 发现了 是 10M
    Itanium
        28
    Itanium  
       2018-01-03 18:25:13 +08:00
    wsly47
        29
    wsly47  
       2018-01-04 07:48:01 +08:00 via iPhone
    我以前也写了个差不多的
    https://mizore.cn/pic/
    kernel365
        30
    kernel365  
       2018-01-04 11:04:39 +08:00
    能不能删除呢?
    Famio
        31
    Famio  
    OP
       2018-01-04 11:20:13 +08:00
    @kernel365 不提供删除。
    miaomiao888
        32
    miaomiao888  
       2018-01-04 12:26:59 +08:00
    q409195961
        33
    q409195961  
       2018-01-04 20:48:25 +08:00
    https://oss.v2url.com/2018/01/04/c65033a2601f7bbb5588d19874e243ea.html

    测试 html
    (含多个 Alert,不带屏蔽浏览器勿点)
    lsido
        34
    lsido  
       2018-01-05 15:18:41 +08:00
    hardman
        35
    hardman  
       2018-03-10 23:25:27 +08:00 via Android
    hardman
        36
    hardman  
       2018-03-10 23:30:05 +08:00 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1031 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:12 PVG 03:12 LAX 12:12 JFK 15:12
    Do have faith in what you're doing.
    ubao msn 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