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

php 如何实现资源保护隐藏图片真实地址

  •  
  •   diefishfish · 2016-10-04 19:15:16 +08:00 · 2843 次点击
    这是一个创建于 2971 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想用 php 写个随机背景的 api,现在是把图片放在服务器上但是发现服务器太烂加载图片的速度很慢,然后想把图片丢到七牛云或者又拍云上,然后想实现用户访问 api 的时候直接从七牛云上加载图片而不是在自己的服务器上中转一遍,有什么优美的写法能实现么

    12 条回复    2016-10-05 00:46:58 +08:00
    cnZary
        1
    cnZary  
       2016-10-04 19:17:39 +08:00 via Android
    <link rel="stylesheet" type="text/css" href="test.php">
    cnZary
        2
    cnZary  
       2016-10-04 19:18:27 +08:00 via Android
    或者 Ajax 动态拿图片地址替换..
    轻喷
    shlabc
        3
    shlabc  
       2016-10-04 21:00:54 +08:00
    PHP 的 API 查出当前页的记录集后,用 str_replace 循环替换 URL 地址,然后再用 json_encode 输出返回结果
    lslqtz
        4
    lslqtz  
       2016-10-04 21:24:15 +08:00 via iPhone
    @shlabc 然后人家直接把你的 API 拿去用了
    julor
        5
    julor  
       2016-10-04 21:37:03 +08:00 via Android
    你的这个需求的目的是什么?为了解决什么问题?
    UnisandK
        6
    UnisandK  
       2016-10-04 21:43:22 +08:00
    想隐藏七牛的地址,又想不用自己的服务器中转?
    这个好像真没什么优美的实现
    diefishfish
        7
    diefishfish  
    OP
       2016-10-04 21:48:37 +08:00
    @julor 就是在七牛云上放一堆背景图片,然后用 php 做个文件,每次访问这个 php 的时候会随机输出七牛云上的一个背景,然后现在想加载图片的时候不从我自己的服务器上加载,直接从七牛云上加载保证图片的加载速度,如果直接暴露七牛云的地址怕被爬虫把图片爬完,所以想把图片的原地址隐藏起来
    shlabc
        8
    shlabc  
       2016-10-04 22:25:55 +08:00
    我自己是用的 2 台服务器,内部可直接互访,用 linux 的 mount 命令自动设置映射,公开对外的 api 服务器不怕抓,设计限制规则就行了,各种 token 、时间戳、内部加密规则什么的
    oott123
        9
    oott123  
       2016-10-05 00:16:03 +08:00 via Android
    私有空间,生成密钥拼成地址,然后 301 过去
    oott123
        10
    oott123  
       2016-10-05 00:16:21 +08:00 via Android
    说错了。应该是 302 过去。
    abelyao
        11
    abelyao  
       2016-10-05 00:45:56 +08:00
    0. 你原先直接放服务器上也有可能被人调用;
    1. 即便你用 PHP 调整,也可以直接调用跳转前或跳转后的地址,不也一样?
    2. 加上来路限制在一定程度上可以避免被直接引用;
    3. 可以放在又拍云,配合 token 访问,别人要偷你的地址就只能每次都去 html 源代码中提取了,详见: http://docs.upyun.com/cdn/feature/#token

    最后,几张图而已,直接引用你的 url 我还怕不稳定呢,要偷也是下载后放到自己的服务器啊…
    abelyao
        12
    abelyao  
       2016-10-05 00:46:58 +08:00
    修正: PHP 调整 ---> PHP 跳转
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2795 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:28 · PVG 15:28 · LAX 23:28 · JFK 02:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.