酒诡 发表于 2023-10-21 17:47:11

关于前置摄像头(照妖镜、千里眼)【壹·源码分析·ck】

本帖最后由 酒诡 于 2023-10-21 17:47 编辑

害,前几天属实忙的不着边,趁有空更他几发{:4_205:}


https://w.paijishu.net/static/image/hrline/1.gifhttps://w.paijishu.net/static/image/hrline/1.gif

千里眼想必大家都见过吧
也就是那个开启前置摄像头的钓鱼.......额.........诈骗链接..........个人觉得还蛮常见的
就这种



违不违法咱得问罗老师,毕竟是自己授权后才被拍照的,但是肯定是不道德的
就原版来看的话大差不差的应该都长这样



从上往下一个个看吧,排列也没什么理由,首先就是ck

<div style="width: 90%; margin: 10px auto; border: 1px solid #ccc; text-align: center">
    <?php
    error_reporting(0);
    $type=trim($_GET['type']);
    $page=isset($_GET['page'])?$_GET['page']:0;//从零开始
    $id=trim($_GET['id']);
    $imgnums = 2;    //每页显示的图片数
    $path="./img/";   //图片保存的目录
   
    if ($type=="del"){
      echo '确定清空所有照片?<br /><br />';
      echo "<a href=?type=dell&id=$id>确定</a> <a href=javascript:history.back(-1)>返回上一页</a> <br /><br />";
      exit;
    }elseif($type=="dell"){
      //清空照片函数
      $handle = opendir($path);
      while (false !== ($file = readdir($handle))) {
         list($filesname,$ext)=explode(".",$file);
         if($ext=="png" and explode('_', $filesname)==$id) {
               if (!is_dir('./'.$file)) {
                  unlink('./.../'.$file);
               }
         }
      }
      echo '该ID下的所有照片已经清除!<br /><br />';
    }
   
    $handle = opendir($path);
    $i=0;
    while (false !== ($file = readdir($handle))) {
       list($filesname,$ext)=explode(".",$file);
       if($ext=="png" and explode('_', $filesname)==$id) {
         if (!is_dir('./'.$file)) {
            $array[]=$file;//保存图片名称
            ++$i;
         }
       }
    }
    if($array){
       rsort($array);//修改日期倒序排序
       echo "<a href=?page=$page&id=$id&type=del>清空所有照片</a> <br /><br />";
    }
    else{
      echo "该ID下没有任何照片 <br /><br />";
    }
    for($j=$imgnums*$page; $j<($imgnums*$page+$imgnums)&&$j<$i; ++$j){
       echo '<div>';
       echo "<img src=".$path."/".$array[$j]."><br /><br />";
       echo '</div>';
    }
    $realpage = @ceil($i / $imgnums) - 1;
    $Prepage = $page-1;
    $Nextpage = $page+1;
    if($Prepage<0){
       echo "上一页 ";
       echo "<a href=?page=$Nextpage&id=$id>下一页</a> ";
       echo "<a href=?page=$realpage&id=$id>末页</a> ";
    }elseif($Nextpage >= $realpage){
       echo "<a href=?page=0&id=$id>首页</a> ";
       echo " <a href=?page=$Prepage&id=$id>上一页</a> ";
       echo " 下一页";
    }else{
       echo "<a href=?page=0&id=$id>首页</a> ";
       echo "<a href=?page=$Prepage&id=$id>上一页</a> ";
       echo "<a href=?page=$Nextpage&id=$id>下一页</a> ";
       echo "<a href=?page=$realpage&id=$id>末页</a> ";
    }
    ?>
</div>该代码为PHP代码,主要功能是用于浏览和管理保存在服务器中的图片。具体实现如下:


首先通过$_GET获取参数,包括type、page和id。其中type用于判断操作类型,page用于指定当前页码,id用于指定需要浏览和管理的图片所属的ID。

根据type参数的不同值,执行不同的操作。当type为del时,提示用户是否清空所有照片,并提供确定和返回上一页的链接;当type为dell时,执行清空照片函数,将指定ID下的所有png格式图片删除。

通过opendir函数打开存储图片的目录,然后遍历该目录下的所有文件,将以png格式且文件名以指定ID开头的文件保存在数组$array中,并记录图片总数$i。

根据图片总数$i和每页显示图片数$imgnums计算出总页数$realpage,并根据当前页码$page和总页数$realpage计算出上一页$Prepage和下一页$Nextpage。

根据数组$array和当前页码$page,打印出当前页需要显示的图片,并提供首页、上一页、下一页和末页的链接,供用户浏览和管理图片。
总体来说,该代码实现了一个简单的图片浏览和管理功能,并且提供了清空所有照片的功能。但是该代码存在一些问题,比如没有考虑到安全性和可读性等方面的问题,需要进一步优化和改进。




水完了,收工!!!{:4_199:}


https://w.paijishu.net/static/image/hrline/5.gifhttps://w.paijishu.net/static/image/hrline/5.gif
只分析最简单的千里眼奥,因为现在录像的,附带ip探针的,附带GPS定位的杂七杂八的都有,就我这个遵纪守法好公民所知,都大差不差的,也没什么好看的
先介绍一下基本情况(可能不准,毕竟能力有限),后续讲解应对技巧


麻了,看了一下pbl就两行,为了不水贴一块发上来吧

<?php
error_reporting(0);
$base64_img = trim($_POST['img']);
$id = trim($_GET['id']);
$url = trim($_GET['url']);
$up_dir = './img/';//存放在当前目录的img文件夹下

if(empty($id) || empty($url) || empty($base64_img)){
    exit;
}

if(!file_exists($up_dir)){
mkdir($up_dir,0777);
}

if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
$type = $result;
if(in_array($type,array('bmp','png'))){
    $new_file = $up_dir.$id.'_'.date('mdHis_').'.'.$type;
    file_put_contents($new_file, base64_decode(str_replace($result, '', $base64_img)));
    header("Location: ".$url);
}
}
?>该PHP代码用于接收前端传来的base64格式的图片数据,并保存为文件,具体实现如下:


首先通过$_POST获取参数$img,以及通过$_GET获取参数$id和$url。其中$id用于指定图片所属的ID,$url用于上传成功后的跳转链接。

判断传入的参数是否为空,如果为空则直接退出。

判断存储图片的目录是否存在,如果不存在则创建该目录。

利用正则表达式匹配出图片类型,然后判断该类型是否为bmp或png格式。

根据当前时间和图片类型生成新的文件名,然后将base64格式的图片数据解码保存为文件(于根目录文件夹)。

如果保存成功,则跳转到指定的$url链接。
总体来说,该代码实现了将base64格式的图片保存为文件的功能。但是该代码也存在一些问题,比如没有对参数进行严格的校验和过滤,可能存在安全隐患(几乎没有);同时,没有考虑到并发上传时可能会出现文件名重复的问题(密钥),需要进一步优化和改进。
本人文笔不好奥,有什么翻车的地方还请大佬多担待{:4_199:}






酒诡 发表于 2023-10-21 17:48:13

各位大佬啊,纯纯码字原创啊!回复支持一下吧{:4_199:}

小吉 发表于 2023-10-21 17:54:34

{:4_210:}路过顶一下

酒诡 发表于 2023-10-21 17:55:15

小吉 发表于 2023-10-21 17:54
路过顶一下

感谢大佬来捧场啊!{:4_184:}{:4_205:}

蔡徐坤的哥哥 发表于 2023-10-21 17:57:47

我也来看看,照妖镜这个初中的时候拿来照过网恋对象

傻狍子 发表于 2023-10-21 17:58:33

这东西不错

可爱喵 发表于 2023-10-21 18:00:17

咪咪路过{:5_230:}

Theeh 发表于 2024-4-2 21:15:33

6
页: [1]
查看完整版本: 关于前置摄像头(照妖镜、千里眼)【壹·源码分析·ck】