Javascript 如何检查图像是否来自设备摄像头HTML5

Javascript 如何检查图像是否来自设备摄像头HTML5,javascript,php,html,Javascript,Php,Html,我有个问题,可能是边缘案件。 问题是,我正在开发一个网站,作为一个移动应用程序,类似于mobile first网站。为此,我找到了一种方法,当用户点击文件输入时打开设备的摄像头 直到那里一切都很好。问题是,当我在笔记本电脑上打开网站时,当我单击输入文件时,它会打开一个文件选择器,而不是打开设备的摄像头。 此外,当我在某些移动设备上单击输入文件时,有时会发生以下情况:1。从gallery 2中选择照片。打开相机 在我的项目中不被接受,因为它只能接受当时拍摄的最新照片 有人知道怎么控制吗? 真的谢谢

我有个问题,可能是边缘案件。 问题是,我正在开发一个网站,作为一个移动应用程序,类似于mobile first网站。为此,我找到了一种方法,当用户点击文件输入时打开设备的摄像头

直到那里一切都很好。问题是,当我在笔记本电脑上打开网站时,当我单击输入文件时,它会打开一个文件选择器,而不是打开设备的摄像头。 此外,当我在某些移动设备上单击输入文件时,有时会发生以下情况:1。从gallery 2中选择照片。打开相机 在我的项目中不被接受,因为它只能接受当时拍摄的最新照片

有人知道怎么控制吗?
真的谢谢

好的,我看到您正在使用PHP服务器端。。。如果您不介意在不先检查的情况下上载映像,可以在服务器端构建检查

使用exif_read_数据,您可以从图像中读取元数据

FileDateTime将保存创建映像的日期。因此,您可以检查图像是否是最近的图像

另一种可能的方法是检查使用了哪个摄像头。如果设置了这些值,则这取决于使用哪个设备拍照

$exif_ifd0 = exif_read_data($tempImagePath ,'IFD0' , 0);
// $exif_ifd0 will be an array.

最后一种方法如php.net中所示,请看这里:单击文件输入控件是否触发相机或使用相机的选项完全取决于设备。您无法区分两者之间的区别,因为HTML页面只有一个文件输入控件。如果设备将此链接到相机,它所做的一切就是拍摄一张照片,存储它,然后将此文件的路径放入页面上的文件输入控件中,就像它选择一张旧照片一样。从你网站的角度来看,这个过程是完全相同的,不管这张照片是10秒前还是10年前拍的。谁能说用户现在就想给你发一张他们的照片呢?也许他们穿着睡衣,或者留着疯狂的教授头发?如果你接受最近的照片,当然如果它是几天前甚至几周前拍的,没有实际意义吗?你到底反对什么?指定照片的更新时间,并让用户证明其符合要求。你真的没什么办法了。哦,我明白了。是的,但我得想办法控制这一切。我反对这样做是因为网站是为一家要求立即拍照的公司设计的,这是出于安全考虑,而不是出于虚假。你必须告诉他们,他们的要求在技术上是不可能实现的。不管怎么说,即使这是可能的,它仍然证明不了什么-谁能说照片中的人真的是注册的人?很容易为当时在附近的其他人拍照。大多数手机都有一些工具,可以让你在拍照后对照片进行显著的处理。如果他们真的那么在意,他们需要通过邮寄方式索取可验证身份证件原件,然后通过记录送达方式返还。实际上,这甚至不是一个代码问题,只是一个不合逻辑的请求。哦,太好了!谢谢,我现在就试试,我会让你知道的!我希望这就是你想做的。。请注意,图像是用户输入的。。你永远不应该相信用户的输入。元数据可以在计算机上编辑。。因此,如果它能工作,就不是防篡改的。我现在正在用这个解决方案尝试一些东西。是的,当然,我理解这不是一个防篡改,但它的工作为我所需要的。太棒了!很高兴我能帮忙