隐藏/保护原始全尺寸图像

时间:2011-04-06 作者:Andy

我希望可以将原始图像保存到一个单独的目录中,以便将其安全隐藏,但这似乎太困难了。

因此,我现在想知道是否有任何方法可以保护原始的全尺寸图像不被公众看到,但仍然允许他们查看重新调整的图像。

我不是在谈论隐藏/保护屏幕上的图像,更重要的是,提供原始图像不可用的url或一些类似的方案来阻止它们被下载。

ie。

uploads/my_image-200x200.jpg (给定此url)

uploads/my_image.jpg (这个url很容易计算出来)

6 个回复
SO网友:NikkiQ

我正在寻找一种方法来做到这一点,并找到了这个页面。。。然后我想把这个放进一个盒子里。WordPress上载文件夹中的htaccess文件,目前为止它对我有效。。。有什么好处吗?

<FilesMatch "\\.jpg$">
    order allow,deny
    deny from all
</FilesMatch>

<FilesMatch "-[0-9]+x[0-9]+\\.jpg$">
    order allow,deny
    allow from all
</FilesMatch>
第一部分拒绝访问所有内容。jpg文件和第二部分搜索附加到文件名的文件大小,并允许访问这些文件。。。您还可以为任何其他对象添加指令。jpg文件需要是可查看的,但我的其他所有图形都是可查看的。png文件,所以这对我来说不是问题。

SO网友:Wordpressor

只有一件事我可以肯定——如果你根据真实的URL显示缩略图,你的图像将永远不会安全。

但我有一些想法,第一个看起来很棒,应该适合你。将它们混合在一起将使访问您的图像更加困难。

Edit wp-includes\\media.php file.

第435行:

$suffix = "{$dst_w}x{$dst_h}";

$info = pathinfo($file);
$dir = $info[\'dirname\'];
$ext = $info[\'extension\'];
$name = wp_basename($file, ".$ext");
玩$后缀和$名称就可以了,试试吧。

例如,将$sufix更改为“某物”将输出缩略图名称,如下所示:

上载/my\\u image-something。jpg公司

仍然很容易猜测,但如果在“my\\u image”之前添加一些内容,会发生什么?随机+随机jpgs名称=对我来说似乎很安全:)

Use TimThumb.

它会“动态”创建缩略图,例如,您拥有www.domain。com/myimage。jpg和您想要显示200x200缩略图,所以您只需放置timthumb。php,然后编写如下内容:

<img src="timthumb.php?src=www.domain.com/myimage.jpg&h=200&w=200&zc=1" alt=""> 
它并不完美,但总是比普通链接更难,尤其是在机器人图像采集方面。

Use Watermark plugin.

可能是最“安全”的选项,尤其是在为全尺寸图像添加水印之前创建缩略图时。

SO网友:Wyck

为什么要经历这些麻烦呢?这是可能的,但它需要跨越各种障碍,使用更多的资源。例如,您可以使用fopen、数据库或嵌套的php文件php image protect class

这是给人的还是机器人的?

SO网友:Jonnybojangles

使用下一代图库插件:缩略图有不同的文件名,图库和帖子可以有多对多的关系。NextGEN Gallery

SO网友:Jonnybojangles

如果你不介意编辑Wordpress核心,我找到了一些值得一看的地方。

通过wp admin/includes/media upload进行跟踪。php引导我找到media\\u handle\\u upload()(第186行)和image\\u resize()(wp includes/media.php的第405行)。

media\\u handle\\u upload()处理媒体表单提交。

image\\u resize()至少处理已调整大小的图像的名称(例如,filename.jpg resized to filename-200x200.jpeg)。

我还找到了wp\\u create\\u thumbnail()(wp的第23行包括/wp admin/image.php),如果您想尝试采用可插拔的方式,它有一个过滤器“wp\\u create\\u thumbnail”,在上述image\\u resize()之后调用。

SO网友:adrian
结束

相关推荐

Resizing all images

我刚刚更改了博客的主题,由于页面宽度很小,它打破了布局。我之前的大多数图片(附在帖子中)的宽度都在600px左右,现在我需要按450px的比例调整它们的大小。如何一次性调整它们的大小?有这个插件吗?P、 美国:编写CSS规则是一个很好的选择,我已经做到了。但我认为调整图像大小也会减少每个页面的下载开销!