PHP-关于图片隐藏图片问题

Web程序数据库 Web程序数据库 主题:1214 回复:2505

PHP-关于图片隐藏图片问题

灵芸 发布于 2017-10-12 字数 531 浏览 1170 回复 2

是这样的,我在网站里用户上传的图片都是只保存一张原图片,然后当用户访问这张图片的水图时会用PHP动态去加上水印图,然后显示给客户端,(比如:原图是http://www.test.com/abc.jpg,那么有水印的图就会是http://www.test.com/abc_w1.jpg,其中w代表需要加水印,1代表右下角,这样就会显示一张有水印的图)这么做的实现就是能够满足多尺寸、多水印的图片需求。加水印是为了防盗链,可是这样实现有一个问题就是只要知道了原图片的地址就能访问原图,大家有没有什么办法可以实现保护原图片的功能(这张原图是要保留的,为了满足多方面的需求,但是不能让外部访问到)。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

虐人心 2017-10-27 2 楼

访问原图片形式的链接进行rewrite或者禁止,可以用apache进行正则匹配
可以将原图链接形式和水印图片链接形式不在同一级目录

晚风撩人 2017-10-20 1 楼

给原图目录加http访问权限就可以了。比如 Apache:
站点目录为 E:/test

<Directory "E:/test/imgs">
Order allow,deny
Deny from all
</Directory>

直接访问 www.test.com/imgs/xxx.jpg 会返回 403 :
You don't have permission to access /imgs/xxx.jpg on this server.

如果可以访问的图片和不能访问的图片都混在一个目录中也可以通过文件匹配:(需要对原图有命名有要求)

<FilesMatch /imgs/source_(.*)&>
Order allow,deny
Deny from all
</FilesMatch>

思路都一样,方法有很多。nginx 也有相关的配置,我不一一举例了。