有没有一种方法来隐藏从普通用户的图片网址?

问题描述 投票:1回答:1

我想一个人影出来查看控制台或源代码时,我如何隐藏图像的URL。

我见过别人问到这个问题,以防止用户下载图像,但是这不是问题 - 事实上,他们应该能够下载/保存图像。

真正的原因是因为我的用户在我的网站上传图片,像cloudinary第三方存储服务。我不希望用户知道图像要去,因为我怕他们可以操纵发送或接收数据。这仅仅是一个额外的安全措施,甚至检查发送/接收的图像确实是图像的URL,而不是恶意代码或任何东西之后。

你有什么建议隐藏的网址在控制台?我完全是出于从哪里开始的想法。

要详细一点:用户点击“浏览文件”在我的网站,然后点击“上传”。该文件被转移到cloudinary进行存储。然后我的网站从cloudinary取该图像URL(S),存储在我的数据库的URL,并将其显示在格箱用户的个人资料。事情是这样的:

<div class="listing_img" style="background-image:url('.$img_url.');"></div>

其中$ img_url是从数据库中的一行。

有点像的图像存储网站,但不完全是,人们不会来我的网站存储图像。用户不会在任何阶段能看到哪些API网址的图像发送到,当然,除非他们看到浏览器控制台内的“IMG SRC = akdklasdjakl”。

我不知道这是否是正确的做法,但它似乎并不像一个坏主意。

javascript php mysql image security
1个回答
1
投票

您可以尝试使用data-uri添加的图像数据,而不是图像的URL - 您会为内嵌图片。因此,在CSS,你可以尝试:

style="background:url(data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKu..... etc) no-repeat;"

作为例子:

这将使用远程图像,但你可以使用本地文件路径 - 即使是那些outwith文档根目录。

    $source='http://jumanjipets.co.uk/wp-content/uploads/2018/02/koi.jpg';
    $contents=file_get_contents( $source );

    printf( "<img src='data:image/jpeg;base64, %s' />", base64_encode( $contents ) );
© www.soinside.com 2019 - 2024. All rights reserved.