首页
友情链接
关于我们
Search
1
Docker 常用命令
18 阅读
2
Docker安装Chromium浏览器 - Docker里的浏览器
14 阅读
3
Docker安装DPanel - Docker可视化面板
12 阅读
4
Windows10添加共享网络打印机出现错误0x000004f8
11 阅读
5
Windows10错误代码0x80070035无法访问共享设备
11 阅读
Windows
Linux
Docker
源码代码
登录
Search
陌路离殇
累计撰写
56
篇文章
累计收到
0
条评论
本站共
9.27 W
字
首页
栏目
Windows
Linux
Docker
源码代码
页面
友情链接
关于我们
用户中心
登录
搜索到
14
篇与
源码代码
相关的结果
2024-10-26
检测IP端口是否开放API
PHP代码<?php header('Content-type: application/json;charset=utf-8'); header('Access-Control-Allow-Origin:*'); $ip = $_REQUEST['ip']; $port = $_REQUEST['port']; if(empty($ip&&$port)){ $Json=[ "code"=>"201", "msg"=>"IP和端口不能为空", "time"=>date('Y-m-d H:i:s',time()), "data"=>[], ]; $Json = json_encode($Json,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); echo stripslashes($Json);die; } $fp = fsockopen($ip,$port,$errno,$errstr,1); if(strpos($errstr,"getaddrinfo failed")!==false||strpos($errstr,"Unable to find the socket")!==false){//strpos($errstr,"Connection timed out")!==false|| $Json=[ "code"=>"202", "msg"=>"IP或域名连接失败", "time"=>date('Y-m-d H:i:s',time()), "data"=>[], ]; $Json = json_encode($Json,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); echo stripslashes($Json);die; } $Json=[ "code"=>"200", "msg"=>"success", "time"=>date('Y-m-d H:i:s',time()), "data"=>[ "ip"=>$ip, "port"=>$port, "status"=>!$fp?0:1, ], ]; $Json = json_encode($Json,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); echo stripslashes($Json); ?>使用方法请求示例:http://localhost/scanport.php?ip=223.5.5.5&port=53请求方式:GET/POST返回格式:JSON请求参数说明:名称是否必填说明ip是需要检测端口的IP或域名port是需要检测的端口返回参数说明:名称说明code状态码msg返回提示信息time请求时间ip返回查询的IP或域名port返回查询的端口status端口状态。1:开启 ;0:关闭返回示例:{ "code": "200", "msg": "success", "time": "2024-01-14 17:34:02", "data": { "ip": "223.5.5.5", "port": "53", "status": 1 } }错误码说明:名称说明201IP或端口不能为空202IP或域名连接失败
2024年10月26日
9 阅读
0 评论
0 点赞
2024-10-26
PHP中使用curl实现GET请求
function http_curl_get($url,$hosts,$referer){ //生成随机IP $cip = mt_rand(11, 191) . "." . mt_rand(0, 240) . "." . mt_rand(1, 240) . "." . mt_rand(1, 240); //函数初始化 $curl = curl_init(); //这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项。 curl_setopt($curl, CURLOPT_URL, $url); //如果你想把一个头包含在输出中,设置这个选项为一个非零值。 curl_setopt($curl, CURLOPT_HEADER, 0); //设置返回值不直接输出,例如返回xml格式,会将xml原样输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //检查服务器SSL证书中是否存在一个公用名 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //设为0表示不检查证书。设为1表示检查证书中是否有CN(common name)字段。设为2表示在1的基础上校验当前的域名是否与CN匹配 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); //可解压缩gzip、deflate等压缩文件 curl_setopt($curl, CURLOPT_ENCODING, ''); //浏览器UA curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']); //设置$headers curl_setopt($curl, CURLOPT_HTTPHEADER, ['Host:'.$hosts,'X-FORWARDED-FOR:'.$cip]); //设置REFERER curl_setopt($curl,CURLOPT_REFERER,$referer); //跟踪爬取重定向页面 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); //设置连接超时时间,单位是秒 curl_setopt($curl, CURLOPT_TIMEOUT, 5); //判断错误并输出 if(curl_errno($curl)){ echo 'Error:' . curl_error($curl); }else{ $data = curl_exec($curl); } curl_close($curl); //返回数据 return $data; }
2024年10月26日
8 阅读
0 评论
0 点赞
2024-10-26
常用正则表达式
一、校验数字的表达式· 数字:`^[0-9]*$` · n位的数字:`^\d{n}$` · 至少n位的数字:`^\d{n,}$` · m-n位的数字:^\d{m,n}$ · 零和非零开头的数字:^(0|[1-9][0-9]*)$ · 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ · 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ · 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ · 有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$ · 有1~3位小数的正实数:^[0-9]+(\.[0-9]{1,3})?$ · 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ · 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$ · 非负整数:^\d+$ 或 ^[1-9]\d*|0$ · 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ · 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ · 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ · 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ · 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ · 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$二、校验字符的表达式· 汉字:^[\u4e00-\u9fa5]{0,}$ · 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$ · 长度为3-20的所有字符:^.{3,20}$ · 由26个英文字母组成的字符串:^[A-Za-z]+$ · 由26个大写英文字母组成的字符串:^[A-Z]+$ · 由26个小写英文字母组成的字符串:^[a-z]+$ · 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ · 由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$ · 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$ · 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$ · 可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+ · 禁止输入含有~的字符:[^~]+三、特殊需求表达式· Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ · 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.? · InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ · 手机号码:^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$ · 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ · 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7} · 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号): ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$) · 身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$) · 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ · 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$ · 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$ · 强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ · 日期格式:^\d{4}-\d{1,2}-\d{1,2} · 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$ · 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$ · 钱的输入格式: 1. 有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$ 2. 这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$ 3. 一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$ 4. 这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧。下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$ 5. 必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$ 6. 这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$ 7. 这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$ 8. 1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$ 9. 备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里 · xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ · 中文字符的正则表达式:[\u4e00-\u9fa5] · 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) · 空白行的正则表达式:\n\s*\r (可以用来删除空白行) · HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? /> ( 首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式) · 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始) · 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字) · IPv4地址:((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
2024年10月26日
8 阅读
0 评论
0 点赞
2024-10-26
获取URL地址中的顶级域名
<?php header('content-type:text/html;charset=utf-8'); //获取顶级域名 function getTopHost($url){ $url = strtolower($url); //首先转成小写 $host = parse_url($url)['host']; //查看是几级域名 $data = explode('.', $host); $n = count($data); //判断是否是双后缀 $preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/'; if(($n > 2) && preg_match($preg,$host)){ //双后缀取后3位 $host = $data[$n-3].'.'.$data[$n-2].'.'.$data[$n-1]; }else{ //非双后缀取后两位 $host = $data[$n-2].'.'.$data[$n-1]; } return $host; }
2024年10月26日
8 阅读
0 评论
0 点赞
2024-10-26
PHP设置5秒盾代码
<?php define('SYSTEM_ROOT', dirname(preg_replace('@\\(.*\\(.*$@', '', preg_replace('@\\(.*\\(.*$@', '', __FILE__))) . '/'); session_start(); date_default_timezone_set('Asia/Shanghai'); header('Content-Type: text/html; charset=UTF-8'); function getspider($useragent=''){ if(CC_Defender==2)return false; if(!$useragent){$useragent = $_SERVER['HTTP_USER_AGENT'];} $useragent=strtolower($useragent); if (strpos($useragent, 'baiduspider') !== false){return 'baiduspider';} if (strpos($useragent, 'googlebot') !== false){return 'googlebot';} if (strpos($useragent, 'soso') !== false){return 'soso';} if (strpos($useragent, 'bing') !== false){return 'bing';} if (strpos($useragent, 'yahoo') !== false){return 'yahoo';} if (strpos($useragent, 'sohu-search') !== false){return 'Sohubot';} if (strpos($useragent, 'sogou') !== false){return 'sogou';} if (strpos($useragent, 'youdaobot') !== false){return 'YoudaoBot';} if (strpos($useragent, 'yodaobot') !== false){return 'YodaoBot';} if (strpos($useragent, 'robozilla') !== false){return 'Robozilla';} if (strpos($useragent, 'msnbot') !== false){return 'msnbot';} if (strpos($useragent, 'lycos') !== false){return 'Lycos';} if (strpos($useragent, 'ia_archiver') !== false || strpos($useragent, 'iaarchiver') !== false){return 'alexa';} if (strpos($useragent, 'archive.org_bot') !== false){return 'Archive';} if (strpos($useragent, 'robozilla') !== false){return 'Robozilla';} if (strpos($useragent, 'sitebot') !== false){return 'SiteBot';} if (strpos($useragent, 'mj12bot') !== false){return 'MJ12bot';} if (strpos($useragent, 'gosospider') !== false){return 'gosospider';} if (strpos($useragent, 'gigabot') !== false){return 'Gigabot';} if (strpos($useragent, 'yrspider') !== false){return 'YRSpider';} if (strpos($useragent, 'gigabot') !== false){return 'Gigabot';} if (strpos($useragent, 'jikespider') !== false){return 'jikespider';} if (strpos($useragent, 'addsugarspiderbot') !== false){return 'AddSugarSpiderBot';/*非常少*/} if (strpos($useragent, 'testspider') !== false){return 'TestSpider';} if (strpos($useragent, 'etaospider') !== false){return 'EtaoSpider';} if (strpos($useragent, 'wangidspider') !== false){return 'WangIDSpider';} if (strpos($useragent, 'foxspider') !== false){return 'FoxSpider';} if (strpos($useragent, 'docomo') !== false){return 'DoCoMo';} if (strpos($useragent, 'yandexbot') !== false){return 'YandexBot';} if (strpos($useragent, 'ezooms') !== false){return 'Ezooms';/*个人*/} if (strpos($useragent, 'sinaweibobot') !== false){return 'SinaWeiboBot';} if (strpos($useragent, 'catchbot') !== false){return 'CatchBot';} if (strpos($useragent, 'surveybot') !== false){return 'SurveyBot';} if (strpos($useragent, 'dotbot') !== false){return 'DotBot';} if (strpos($useragent, 'purebot') !== false){return 'Purebot';} if (strpos($useragent, 'ccbot') !== false){return 'CCBot';} if (strpos($useragent, 'mlbot') !== false){return 'MLBot';} if (strpos($useragent, 'adsbot-google') !== false){return 'AdsBot-Google';} if (strpos($useragent, 'ahrefsbot') !== false){return 'AhrefsBot';} if (strpos($useragent, 'spbot') !== false){return 'spbot';} if (strpos($useragent, 'augustbot') !== false){return 'AugustBot';} return false; } if($_GET['rand'] && $_SESSION['rand_session']!=$_GET['rand']){ @header('Content-Type: text/html; charset=UTF-8'); exit('<b>浏览器不支持COOKIE或者不正常访问!</b>'); } if(!$_SESSION['rand_session'] && $nosecu!=true){ if(!getspider()){ $rand_session=md5(uniqid().rand(1,1000)); $_SESSION['rand_session']=$rand_session; exit("<!DOCTYPE HTML> <html> <head> <meta charset=\"UTF-8\"/> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\" /> <title>安全检查中...</title> <script> var i = 5; var intervalid; intervalid = setInterval(\"fun()\", 1000); function fun() { if (i == 0) { window.location.href = \"?{$_SERVER['QUERY_STRING']}&rand={$rand_session}\"; clearInterval(intervalid); } document.getElementById(\"mes\").innerHTML = i; i--; } </script> <style> html, body {width: 100%; height: 100%; margin: 0; padding: 0;} body {background-color: #ffffff; font-family: Helvetica, Arial, sans-serif; font-size: 100%;} h1 {font-size: 1.5em; color: #404040; text-align: center;} p {font-size: 1em; color: #404040; text-align: center; margin: 10px 0 0 0;} #spinner {margin: 0 auto 30px auto; display: block;} .attribution {margin-top: 20px;} </style> </head> <body> <table width=\"100%\" height=\"100%\" cellpadding=\"20\"> <tr> <td align=\"center\" valign=\"middle\"> <noscript><h2>请打开浏览器的javascript,然后刷新浏览器</h2></noscript> <h1><span data-translate=\"checking_browser\">浏览器安全检查中...</span></h1> <p data-translate=\"process_is_automatic\"></p> <p data-translate=\"allow_5_secs\">还剩 <span id=\"mes\">5</span> 秒</p> </div> </div> </td> </tr> </table></body></html>");}}
2024年10月26日
10 阅读
0 评论
0 点赞
1
2
3