前言
近期QQ上出现很多钓鱼网站,原理是通过盗用好友QQ批量群发钓鱼网站进行传播,因为群发的网站是使用的短网址生成,所以大部分情况下不能确定网址的安全性!
正文
常见的短网址都是通过 301 或 302 跳转的方式实现重定向到目标网站的,因此我们可以使用 PHP 的

curl_getinfo

来取得 header 中的重定向地址,也就是短网址对应的原始网址

完整的函数代码如下:

/***

* 万能短网址还原函数
* @param $shortUrl 短网址
* @return 原始网址 | 空(还原失败或非短网址)
  */
  function restoreUrl($shortUrl) {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $shortUrl);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0)
  Gecko/20100101 Firefox/70.0');
  curl_setopt($curl, CURLOPT_HEADER, true);
  curl_setopt($curl, CURLOPT_NOBODY, false);
  curl_setopt($curl, CURLOPT_TIMEOUT, 15);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
  $data = curl_exec($curl);
  $curlInfo = curl_getinfo($curl);
  curl_close($curl);
  if($curlInfo['http_code'] == 301 || $curlInfo['http_code'] == 302) {
  return $curlInfo['redirect_url'];
  }
  return '';
  }
  **使用方法**

$shortUrl = 'https://dwz.cn/UWW7enXj'; // 要还原的短网址
$orinalUrl = restoreUrl($shortUrl);
if($orinalUrl) {
echo "短网址 {$shortUrl} 的还原结果:{$orinalUrl}";
} else {
echo "短网址还原失败";
}
最后修改:2022 年 01 月 13 日 10 : 48 PM
如果觉得我的文章对你有用,请随意赞赏