这里有新鲜出炉的PHP教程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于web开发领域。PHP的文件后缀名为php。
本文给大家分享的是一个基于PHP实现的网站目录扫描索引工具的源码,非常的简单实用,有需要的小伙伴可以参考下
代码很简单,这里就不多废话了,本代码来至一位网友的投稿,经测试可用
- <?php error_reporting(E_ALL & ~E_NOTICE); ignore_user_abort(); set_time_limit(0);
- if ($_GET[ 'act']=='op' ) { $data_url=$ _GET[ 'url'] . '/'; $hz=$ _GET[
- 'type']; list($fw1, $fw2)=e xplode( '-', $_GET[ 'fw']); $zs404=s trlen(file_get_contents_curl($data_url
- . "momaka")) + 200; //404页面字数 $file_name=$ _SERVER[ "REMOTE_ADDR"] .
- '_' . mt_rand(1000, 9999999) . '.txt'; //写入的文件名 setcookie( "file_name", $file_name,
- time() + 3600 * 24 * 7); //写入cookie 方便识别 for ($i=$ fw1;$i <=$ fw2;$i++)
- { $name=$ data_url . $i . $hz; //curl读取页面 $data=f ile_get_contents_curl($name);
- //判断页面是否有用 if (strlen($data)>
- $zs404) { $log = $name . ' *yes'; } else { $log = $name . ' no'; } file_put_contents($file_name,
- $log . PHP_EOL, FILE_APPEND); //写入文件 if ($_GET['ys']) { sleep($_GET['ys']);
- //遇到防火墙使用延迟扫目录 } } } if ($_GET['act'] == 'list') { $filename = $_COOKIE["file_name"];
- //要下载的文件名 header("Content-Type:application/force-download"); header("Content-Disposition:attachment;filename="
- . $filename); readfile($filename); } if ($_GET['file_name']) { $data =
- file_get_contents($_COOKIE["file_name"]); } /* CURL 配置函数 */ function file_get_contents_curl($url)
- { $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //
- 跳过证书检查 //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
- curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,
- 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $dxycontent = curl_exec($ch);
- return $dxycontent; } ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html ns="http://www.w3.org/1999/xhtml">
- <head>
- <http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
- <title>
- 网站目录文件图片扫描工具
- </title>
- <script src="jquery-1.8.3.min.js">
- </script>
- </head>
- <style>
- body{ margin: 0; padding: 0; background-color: #F9F9F9;} .list{margin:
- 0 auto; width: 500px; padding: 30px 0; background-color: #FFF; margin-top:
- 50px; border-radius: 8px; border: 1px solid #ECECEC;} .list h1{ text-align:
- center; font-size: 1.8em; margin: 30px 0;color: #686B82;} .list input{width:
- 250px; height: 28px; border-radius: 5px; border: 1px solid #CACACA; margin:
- 0 0 20px 20px; display: inline-block; padding: 2px 8px;} input:focus {
- border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px
- rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6); box-shadow: inset 0 1px
- 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);} #sm{width: 270px; height:
- 32px; font-size: 16px; background-color: #0DD88D; color: #FFF; border:
- 0;margin-left: 140px;cursor:pointer;} .list span{float: left; display:
- inline-block; width: 120px; text-align: right; line-height: 30px;} .list
- a{ text-align: center; display: block; color: #808080; text-decoration:
- none;}
- </style>
- <body>
- <?php if($data) {?>
- <p style="text-align:center;">
- 每隔15秒更新一次数据 查找连接后面为 *yes 即可用页面
- </p>
- <?php echo $data; ?>
- <script>
- function moma() {
- history.go(0);
- }
- setInterval("moma()", 15000);
- </script>
- <?php }else{ ?>
- <div class="list">
- <h1>
- 网站目录文件扫描工具
- </h1>
- <span>
- 链接:
- </span>
- <input type="text" id="url" placeholder="如https://www.baidu.com" value="">
- <span>
- 后缀:
- </span>
- <input type="text" id="type" placeholder="如 .html ,目录模式则放空" value="">
- <span>
- 范围:
- </span>
- <input type="text" id="fw" placeholder="如1-99999或a-zzzzz" value="">
- <span>
- 延迟:
- </span>
- <input type="text" id="ys" placeholder="遇防火墙请填写轮询时间,如2" value="">
- <input type="submit" id="sm" value="扫描">
- <a href="index.php?file_name=1" target="_blank">
- 查看扫描结果
- </a>
- </br>
- <a href="index.php?act=list" target="_blank">
- 下载扫描结果
- </a>
- </br>
- </div>
- <?php } ?>
- <div id="data">
- </div>
- <script>
- $("#sm").click(function() {
- $(this).disabled = true;
- if (confirm('之前有一个任务可能正在进行,选择确定则新建任务扫描,选择取消则查看任务')) {
- $.get("index.php?act=op", {
- url: $("#url").val(),
- type: $("#type").val(),
- fw: $("#fw").val(),
- ys: $("#ys").val()
- },
- function(req) {
- alert("扫描结束!");
- });
- } else {
- window.open("index.php?file_name=1");
- }
- })
- </script>
- </body>
- </html>
有相同需求的小伙伴可以参考下
来源: http://www.phperz.com/article/17/0902/342833.html