0

例如我有:

<img src="http://gateway.com/Providername/NameOfTheSupplier/RequestedImg.jpg" />

现在一些客户抱怨那里的客户可以在网址中看到公司名称。因为改变我使用的网关的结构需要做很多工作,所以我寻找另一种方法来做到这一点。

有没有办法可以为客户隐藏 src?例如使用 base64 或其他可以解密客户端的加密?

4

6 回答 6

3

可以使用数据 URI,但这需要您下载图像,转换为 base64 并嵌入页面(或 CSS)。

这将有效载荷增加了约 34%。


另一种方法是使用 CSS 来设置页面样式,将图像 URL 嵌入到 CSS 中。这往往不是动态的(尽管它可以是动态的),但任何对 Web 技术有所了解的人仍然可以查看 CSS 并查看 URL。以这种方式使用图像当然也不是语义化的,并且可能会以意想不到的方式破坏您的页面,这意味着您将需要付出更多的努力来使应该“正常工作”的东西发挥作用。

于 2013-04-09T08:23:18.140 回答
3

简单的回答:没有。长答案:没有。技术答案:浏览器显示的所有内容都需要以一种方式翻译成人类可读的*文本。不过,您可以混淆服务器端。

*) 人类可读还包括非常短的名称,例如http://gateway.com/P/N/R.jpg.

于 2013-04-09T08:24:56.570 回答
1
<a href="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIEhUTUw%2BDQo8aHRtbCBs
YW5nPSJlbiI%2BDQogPGhlYWQ%2BDQogIDx0aXRsZT5QcmV0dHkgR2xvd2luZyBMaW5lczwvd   
Gl0bGU%2BDQogPC9oZWFkPg0KIDxib2R5Pg0KPGNhbnZhcyB3aWR0aD0iODAwIiBoZWlnaHQ
9IjQ1MCI%2BPC9jY..."</a>
于 2013-04-16T14:15:56.157 回答
1

base64您可以在代码中转换整个图像。为此,可以使用大量可用的服务。

只是一个例子:

将任何图像转换为 base64 字符串

于 2013-04-09T08:24:12.367 回答
0

你可以试试这段代码

$('img').filter(function(index){return $(this).attr('src')==='';}).hide();
于 2013-04-09T08:23:33.157 回答
0

您可以为此使用处理程序吗?这样你可以隐藏 URL,如果你愿意,你也可以使用 base64 发送图像,或者只写字节流作为响应。

我认为这应该可行,您还可以通过更改一段代码来控制图像路径。

检查此链接: http: //www.codeproject.com/Articles/34084/Generic-Image-Handler-Using-IHttpHandler

谢谢。

于 2013-04-09T09:24:32.910 回答