0

We have a site that has lightbox images but the client does not want to reveal the img src thats displayed in the browser status bar…

Any bright idea how we can achieve this consistently for all browsers?

I would add that this is for a site where we have a thumbnail that links (a href="") to another larger image and its this link thats displayed in the status bar thats the clients main concern.

We have also tried using an option wit the CMS we are using that allows us to use an Obfuscated time limited url to the images, this seemed great but is severely slowed the load times to a point where its unacceptable.

4

6 回答 6

1

网页本身是否支持任何类型的身份验证?

如果是这样,那么正确的方法是将图像从公共根目录中取出并通过身份验证脚本运行访问。我认为Devot:ee 有几个这样的ExpressionEngine 工具。或者,一个简单的插件可以采用私有路径,检查登录成员,然后提供图像。

如果页面上没有认证,那么残酷的事实是你们都在浪费时间,我感到你们的痛苦!如果是这种情况,我不会放弃“教育客户”的路线,就好像图像真的很敏感,那么它们需要适当的保护。

顺便说一句,您可能还需要考虑阻止盗链

于 2013-04-05T07:14:47.397 回答
0

您可以使用模态对话框。不完全是弹出窗口,但它会打开另一个容器。就像一个覆盖。你看到人们经常用图像做这件事,但你也可以将它用于 html。jquery 有很多插件。

这里有一些例子:http: //jquery.com/demo/thickbox/

我个人喜欢http://fancybox.net/

唯一的问题是您不能使用 ajax 调用另一个网站,但您可以在 php 或其他任何内容中创建一个页面并获取另一个页面的内容,然后在 ajax 中返回该内容。

你会想为此使用 curl 之类的东西。

于 2013-04-04T21:48:45.483 回答
0

我认为最好的解决方案可能是对页面中的图像路径进行编码(例如使用 base64),然后有一个介于两者之间的独立 PHP 脚本,它接收编码的文件路径并即时将原始图像作为字符串返回。

显然,与直接提供图像相比,开销更大,但它会阻止用户知道真实的文件位置或名称。

像这样的东西:

隐藏下载文件位置。- 重定向下载

可能是一个很好的起点。

:)

于 2013-04-04T22:03:46.347 回答
0

如果要在浏览器中显示图像,浏览器必须知道该图像的位置。因此,用户始终可以看到该图像的 URL。没有办法向用户隐藏它。

虽然您可以将其从状态栏中隐藏,但阻止用户右键单击图像并说“在新选项卡中打开图像”(或等效项)是什么。如果您要“禁用右键单击”(这对于所有意图和目的来说都是不可能的),您可以通过 Firebug 等开发工具轻松查看图像 URL。

因此,虽然您可能会稍微伪装一下 URL,但没有什么可以阻止真正想要找到它的人。

于 2013-04-04T21:49:11.907 回答
0

不知道这里的目标是什么......但要回答你的问题,只需将图像写为 base64 编码的字符串。例子比比皆是:http ://en.wikipedia.org/wiki/Data_URI_scheme#Examples 。因此,可以隐藏图像的位置,事实上,只要您在服务器上写入数据字符串,它甚至不必向外访问。

于 2013-04-04T21:50:23.853 回答
0

我将创建一个脚本,该脚本在数据属性中具有图像的位置,并在单击时绑定一个手动触发灯箱的事件,并使用该数据属性中的位置。

于 2013-04-04T21:51:58.720 回答