如何防止从浏览器查看图像,但允许在桌面应用程序上

How to prevent seeing image from browser but allow on desktop app

本文关键字:桌面 应用 程序上 应用程序 何防止 浏览器 图像      更新时间:2023-10-16

我正在开发连接到网站的桌面应用程序。我将用户配置文件图像存储在Web服务器的文件系统中,因此我可以从URL与它们联系,问题是我不希望有人可以从任何Web浏览器中访问诸如Chrome的任何Web浏览器。

是否有一种方法可以通过URL访问图像并将其显示在我的桌面应用程序(使用QT构建(中,也可以防止从常规的Web浏览器访问这些图像。

桌面应用程序用户无法从图像很难看到URL。

  1. 您可以加密图像,以便只有您(您的应用程序(才能看到解密密钥。获得加密图像后,解密并显示。在这种情况下,即使有人得到图像,嗨/她也只会得到加密内容
  2. 您可以对图像请求进行基本授权(在URL中发送一些秘密令牌,并在后端进行比较(

另一种方法是处理网页中的小网页。

请求网页以获取图像。

请求将User-Agent信息发送到网页。

基于User-Agent,您可以从网页发送回响应。

请考虑以下示例:

QNetworkRequest request; 
request.setUrl(QUrl("YOUR IMAGE URL"));
request.setRawHeader("User-Agent", "YOUR APP NAME/1.0");

在网页中验证"您的应用名称"并发送有效的响应。

使用QNetworkReply获取响应。

通过这种方式,您可以在Web服务器中完全屏蔽图像目录。