有什么方法可以确保图像不是从 google 而是用户的 phone 相机拍摄的?

Is there any way to make sure that an image is not taken from google but instead the user's phone camera?

我只想允许在我的网站上直接使用 phone 的相机拍摄的图像。是否有任何 API 或技巧可以帮助我判断图像是否真实,是否是几分钟前用 iPhone 或 Android 相机拍摄的,而不是从 Google 图片中拍摄的。

你好drstuggels他们有几种方法可以解决这个问题。

WebRTC

为了防止从任何文件上传,请通过用户网络摄像头直接在您的网络界面上拍照。 你需要

  1. 请求用户允许使用网络摄像头。
  2. 打开视频流
  3. 单击框架时捕获
  4. 保存帧

这将防止 lambda 用户上传“非实时”图片。 如果这是您正在考虑的解决方案,请查找 WebRTC。虽然有很多博客 post 展示了这个确切用例的演示。

如: https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Taking_still_photos

EXIF 验证

正如上传图片的 iѕєρєня, you could try to access the EXIF metadata 和 运行 验证机制所提到的,让我们说新鲜度但寻找日期和时间字段(如果您正在寻找新拍摄的照片)或相机型号字段,以确保它是由相机(phone、DSLR 等)拍摄的。

免责声明: 没有什么可以阻止恶意用户篡改js代码或文件上传假图片。