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

2016-10-04 19:15:16 +08:00
 diefishfish

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

2761 次点击
所在节点    问与答
12 条回复
cnZary
2016-10-04 19:17:39 +08:00
<link rel="stylesheet" type="text/css" href="test.php">
cnZary
2016-10-04 19:18:27 +08:00
或者 Ajax 动态拿图片地址替换..
轻喷
shlabc
2016-10-04 21:00:54 +08:00
PHP 的 API 查出当前页的记录集后,用 str_replace 循环替换 URL 地址,然后再用 json_encode 输出返回结果
lslqtz
2016-10-04 21:24:15 +08:00
@shlabc 然后人家直接把你的 API 拿去用了
julor
2016-10-04 21:37:03 +08:00
你的这个需求的目的是什么?为了解决什么问题?
UnisandK
2016-10-04 21:43:22 +08:00
想隐藏七牛的地址,又想不用自己的服务器中转?
这个好像真没什么优美的实现
diefishfish
2016-10-04 21:48:37 +08:00
@julor 就是在七牛云上放一堆背景图片,然后用 php 做个文件,每次访问这个 php 的时候会随机输出七牛云上的一个背景,然后现在想加载图片的时候不从我自己的服务器上加载,直接从七牛云上加载保证图片的加载速度,如果直接暴露七牛云的地址怕被爬虫把图片爬完,所以想把图片的原地址隐藏起来
shlabc
2016-10-04 22:25:55 +08:00
我自己是用的 2 台服务器,内部可直接互访,用 linux 的 mount 命令自动设置映射,公开对外的 api 服务器不怕抓,设计限制规则就行了,各种 token 、时间戳、内部加密规则什么的
oott123
2016-10-05 00:16:03 +08:00
私有空间,生成密钥拼成地址,然后 301 过去
oott123
2016-10-05 00:16:21 +08:00
说错了。应该是 302 过去。
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
2016-10-05 00:46:58 +08:00
修正: PHP 调整 ---> PHP 跳转

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310552

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX