首页
壁纸
友链
推荐
Windows系统激活
Search
1
QQ9.7.20永久禁止(QQ/NT)自动更新
28 阅读
2
DnF台服:账号任务实现演示
27 阅读
3
如何查询微信是被谁举报投诉的?
19 阅读
4
Centos系统还原官方yum源
18 阅读
5
DNF台服:新职业转职变更卷
17 阅读
闲言碎语
运维笔记
教程笔记
网站源码
其他源码
值得一看
DNF台服
登录
/
注册
Search
Gcn
累计撰写
53
篇文章
累计收到
0
条评论
首页
栏目
闲言碎语
运维笔记
教程笔记
网站源码
其他源码
值得一看
DNF台服
页面
壁纸
友链
推荐
Windows系统激活
搜索到
6
篇与
的结果
2026-02-11
html+js智能判断客户端并显示不同内容
通过http+js代码实现智能判断pc端,手机端(苹果,安卓)并根据不同的客户端显示不同的内容!目前用电脑上的浏览器,android 设备,iphone,ipad 均做过测试,此代码可行,各设备判断均正确,喜欢的同学可以来看看哦!教程以下html代码加入网页的<body></body>之间<div class="download link" id="downloadSHY"> <a href="苹果端链接" id="iosdown" style="display:none"> 立即下载 </a> <a href="安卓端链接" id="androiddown" style="display:none"> 立即下载 </a> <a href="pc端链接" id="pcdown" style="display:none"> 立即下载 </a> </div>加入以下JS代码<script type="text/javascript"> $(function() { var mobile_flag = isMobile(); // console.log(mobile_flag); if(mobile_flag == false){ $("#phoneOrWeb").show(); $('#pcdown').show(); }else if(mobile_flag == 'iPhone'){ $('#ios').show(); $('#iosdown').show(); }else{ $('#android').show(); $('#androiddown').show(); } }); function isMobile() { var userAgentInfo = navigator.userAgent; var mobileAgents = [ "Android", "iPhone", "SymbianOS", "Windows Phone", "iPad","iPod"]; var mobile_flag = false; //根据userAgent判断是否是手机 for (var v = 0; v < mobileAgents.length; v++) { if (userAgentInfo.indexOf(mobileAgents[v]) > 0) { mobile_flag = mobileAgents[v]; break; } } return mobile_flag; } </script> <script type="text/javascript" src="https://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
2026年02月11日
3 阅读
0 评论
0 点赞
2026-02-11
网站在微信打开强制自动跳到外部浏览器
可以直接拉起微信浏览器跳转到外部的浏览器,原理是模拟下载文件拉起外部浏览器跳转,这个方式只测试过PC和安卓手机可以用,IOS测试不行!<?php $ua =$_SERVER['HTTP_USER_AGENT']; $isWechat = (strpos($ua, 'MicroMessenger')) ? true : false; if ($isWechat) { header("Content-Disposition: attachment; filename=\"a.doc\""); header("Content-Type: application/vnd.ms-word; charset=utf-8"); } else { header('location: http://yourdomain'); } ?> <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>浏览器打开</title> <style> body { font-family: 'Arial', sans-serif; background-color: #f7f7f7; text-align: center; padding-top: 50px; } .container { margin: 0 auto; width: 90%; max-width: 600px; background-color: #fff; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); border-radius: 8px; } button { background-color: #007bff; color: white; padding: 10px 20px; font-size: 18px; border: none; border-radius: 5px; cursor: pointer; margin-top: 20px; } button:hover { background-color: #0056b3; } .instructions { margin-top: 20px; font-size: 16px; color: #666; } </style> <script> function openInBrowser() { var targetUrl = 'http://yourdomain'; // 替换为您想要跳转的网址 // 检测是否在微信浏览器中 var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { // 在微信内,显示提示信息 alert('请点击右上角菜单,选择"在浏览器中打开"'); } else { // 不在微信内,直接跳转 window.location.href = targetUrl; } } </script> </head> <body> <div class="container"> <h1>Gcn · 博客</h1> <p>为了更好浏览体验,请通过右上角从浏览器打开</p> <div class="instructions"> <p>如果您在微信中打开此页面,请:</p> <ol> <li>点击页面右上角的三个点</li> <li>选择“在浏览器中打开”</li> <li><button onclick="openInBrowser()">打开网站</button></li> </ol> </div> </div> </body> </html>方式二:Android微信内h5页面唤起浏览器打开页面的技术分析和实现众所周知,微信是有内置浏览器的,方便浏览网页。但是其内核也是经过特殊改造,导致一些默认行为无法触发。为了实现从微信跳转到浏览器打开页面,可以说是相当的困难,本次分享的是Android系统的微信在h5页面调起手机浏览器并打开指定页面的方法。技术原理通过二进制文件下载的方法,调起本地浏览器下载文件实现唤起浏览器。代码使用php的头文件实现文件下载,告诉浏览器这是一个二进制文件流,浏览器就会唤起下载,那么在Android唤起下载都是调起浏览器的。调起浏览器之后,跳转到浏览器,就会在浏览器判断当前的UA,如果不是在微信环境下,那么就无需再次调起下载,而是重定向Url,就实现了跳转到指定的页面了。<?php // 文件路径 $file = 'jump.doc'; // 检查用户代理字符串是否包含 MicroMessenger $isWeChat = strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false; if ($isWeChat) { // 如果是微信浏览器,则直接下载文件 header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } else { // 如果不是微信浏览器 // 则使用js重定向 echo '<script>location.href="https://ulink.alipay.com/?scheme=alipays%3A%2F%2Fplatformapi%2Fstartapp%3FsaId%3D10000007%26clientVersion%3D3.7.0.0718%26qrcode%3Dhttps%253A%252F%252Frender.alipay.com%252Fp%252Fc%252Falipay-red-qrcode%252Fshared.html%253Fchannel%253Dsearch_pwd%2526shareId%253D2088602294611742%2526token%253D196139496tmg2vcinfrii8chMb%2526campStr%253DkPPFvOxaCL3f85TiKss2wsBZgIjulHjG%2526sign%253DqsiVOoa7TuphryWxyBdONXsMTnE3jiIBvWeUs3yV1sw%253D%2526chInfo%253DDingtalk%2526c_stype%253Dsearch_pwd";</script>'; } ?>
2026年02月11日
2 阅读
0 评论
0 点赞
2026-02-11
防盗链三部曲
流量计费的CDN,轻量云服务器,为避免被pcdn清洗,可以尝试以下三部曲,以下方法对图片与附件均有效果,还可以增加token 验证方式设置链接阅后即焚、时效期更加安全;虽不能完全避免但是大几率减少被刷风险!1.检测来访源,设置站点白名<?php $allowedHosts = ['www.ximi.me', 'ximi.me']; if (!isset($_SERVER['HTTP_REFERER']) || !in_array(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST), $allowedHosts)) { header('HTTP/1.0 403 Forbidden'); exit('来源不合法禁止访问,Access forbidden'); } ?>2.开启跨域访问验证<?php header('Access-Control-Allow-Origin: https://www.ximi.me'); // 仅允许特定域访问 ?>3.检测HTTP 头部 是否非正常访问<?php if (!isset($_SERVER['HTTP_ACCEPT']) || $_SERVER['HTTP_ACCEPT'] == '*/*') { header('HTTP/1.0 403 Forbidden'); exit('检测到非法访问;Access forbidden'); } ?>以上方法并不能百分百安全,但测试已经能避免被迅雷,IDM之类软件批量下载;测试图片:在本站单击图片可以正常打开访问,复制地址单独使用就失效
2026年02月11日
1 阅读
0 评论
0 点赞
2026-02-04
PHP 获取ip地址代码汇总
本文给大家汇总介绍了6种php获取IP的方法,有简单有复杂,大家根据自己的项目需求,自由选择吧。function getip() { static $ip = ''; $ip = $_SERVER['REMOTE_ADDR']; if(isset($_SERVER['HTTP_CDN_SRC_IP'])) { $ip = $_SERVER['HTTP_CDN_SRC_IP']; } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) { foreach ($matches[0] AS $xip) { if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) { $ip = $xip; break; } } } return $ip; }<?php error_reporting (E_ERROR | E_WARNING | E_PARSE); if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){ $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; } elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){ $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]; } elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){ $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"]; } elseif (getenv("HTTP_X_FORWARDED_FOR")){ $ip = getenv("HTTP_X_FORWARDED_FOR"); } elseif (getenv("HTTP_CLIENT_IP")){ $ip = getenv("HTTP_CLIENT_IP"); } elseif (getenv("REMOTE_ADDR")){ $ip = getenv("REMOTE_ADDR"); } else{ $ip = "Unknown"; } echo $ip; ?><?php $iipp = $_SERVER["REMOTE_ADDR"]; echo $iipp ; ?><?php $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"]; echo $user_IP ?><?php function get_real_ip() { $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if($ip){ array_unshift($ips, $ip); $ip = FALSE; } for($i = 0; $i < count($ips); $i++){ if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])){ $ip = $ips[$i]; break; } } } return($ip ? $ip : $_SERVER['REMOTE_ADDR']); } echo get_real_ip(); ?><?php if(getenv('HTTP_CLIENT_IP')){ $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR')){ $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR')){ $onlineip = getenv('REMOTE_ADDR'); } else{ $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR']; } echo $onlineip; ?>
2026年02月04日
2 阅读
0 评论
0 点赞
2026-01-18
PHP 获取 QQ 昵称代码官方接口
{message type="info" content="PHP 环境是否为 7.4-8.3"/}<?php function get_qq_nick($qqCode) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=' . $qqCode); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_POSTFIELDS, '------WebKitFormBoundaryYTwvlk5brGmyD3Mn'); curl_setopt($curl, CURLOPT_HTTPHEADER, [ 'Content-Type: multipart/form-data; boundary=---011000010111000001101001', ]); $response = curl_exec($curl); $encode = mb_detect_encoding($response, array("ASCII", 'UTF-8', "GB2312", "GBK", 'BIG5')); $response = mb_convert_encoding($response, 'UTF-8', $encode); $name = json_decode(substr($response, 17, -1), true); curl_close($curl); return $name[$qqCode][6]; } echo get_qq_nick('23496596'); ?>
2026年01月18日
3 阅读
0 评论
0 点赞
1
2