IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php 邮箱中转站sha解析源码 -> 正文阅读

[PHP知识库]php 邮箱中转站sha解析源码

利用cookie写的,给新手用,大神别来喷。 a.php主文件,class.mail.sha.php是类文件,类文件里面填写cookie,主文件调用类文件 函数解析。get方式,http://127.0.0.1/a.php?sha=1e625667d41cc324b6afe9b0cc12788a29066672&size=2400328152,邮箱可能会有未知的限制

PHP class类代码

<?php
class sha
{
	static function shajx($sha, $size)
	{
		return self::getFile($sha, $size);
	}

	public static function cookie()
	{
		$cookie = '这里填写邮箱cookie下面注释掉的代码是文件形式引用cookie';
		return $cookie;
	}

	public static function getsid()
	{
		$url = 'https://mail.qq.com/cgi-bin/login?vt=passport&vm=wsk&delegate_url=';
		$result = self::curl(self::cookie(), "", $url);
		return self::getz($result, '?sid=', '"');
	}

	public static function getFile($sha, $size)
	{
		header('content-type:application/json;charset=utf8');
		$url = 'https://mail.qq.com/cgi-bin/ftnCreatefile?uin=123456&ef=js&resp_charset=UTF8&s=ftnCreate&sid=' . self::getsid() . '&path=1.jpg&size=' . $size . '&sha=' . $sha . '&appid=2&loc=ftnCreatefile,ftnCreatefile,ftnCreate,ftn2';

		$result = self::curl(self::cookie(), "", $url);
		$error = self::getz($result, 'errcode : "', '",');
		$error2 = self::getz($result, 'errcode: "', '"');
		if ($error != 0 or $error2 == -2) {
			return json_encode(array("status" => "-1", "data" => "error"), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
		}
		$url = 'https://mail.qq.com/cgi-bin/ftnExs_files?sid=' . self::getsid() . '&t=ftn.json&s=list&ef=js&listtype=self&up=down&sorttype=createtime&page=0&pagesize=1&pagemode=more&pagecount=1';
		$result = self::curl(self::cookie(), "", $url);
		$error = self::getz($result, 'errcode : ', ',');
		if ($error != 0) {
			return json_encode(array("status" => "-1", "data" => "error"), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
		}
		$head = str_ireplace('ftn_handler/', 'm.mp4?rkey=', str_ireplace('https', 'http', self::getz($result, 'sPreviewUrl : "', '/",')));
		$fid = self::getz($result, 'sFileId : "', '",');
		$url = 'https://mail.qq.com/cgi-bin/ftnDelFile?sid=' . self::getsid() . 'r&t=ftn.json&s=oper&ef=js&pathid=&keytext=&sid=' . self::getsid();
		$data = '&fid=' . $fid;
		self::curl(self::cookie(), $data, $url);
		return json_encode(array("status" => "1", "data" => array("url" => $head, "cookie" => substr($sha, -8)), "mode" => "rkey"), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
	}

	public static function getz($str, $leftStr, $rightStr)
	{
		if (!empty($str)) {
			$left = strpos($str, $leftStr);
			if (empty($left)) {
				return '';
			}
			$right = strpos($str, $rightStr, $left + strlen($leftStr));
			if (empty($left) or empty($right)) {
				return '';
			}
			return substr($str, $left + strlen($leftStr), $right - $left - strlen($leftStr));
		}
	}

	public static function curl($cookie = "", $data = "", $url)
	{
		$ch = curl_init();
		$res = curl_setopt($ch, CURLOPT_URL, $url);
		$header1[] = "Content-Type:application/json;charset=UTF-8";
		curl_setopt($ch, CURLOPT_HTTPHEADER, $header1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		if ($data != "") {
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
		}
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		if ($cookie != "") {
			curl_setopt($ch, CURLOPT_COOKIE, $cookie);
		}
		$result = curl_exec($ch);
		curl_close($ch);
		if ($result == NULL) {
			return 0;
		}
		return $result;
	}
}

调用代码

<?php
include("class.mail.sha.php");
header('content-type:application/json;charset=utf8');

$sha = $_GET['sha'];
$size = $_GET['size'];

if (empty($sha) or empty($size)) {
	return json_encode(array("status" => "-1", "data" => "error"), JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
}

$sha1 = new sha();
echo $sha1->shajx($sha, $size);//sha值,size值(字节大小)

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:18:30  更:2021-10-11 17:19:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/27 14:12:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码