服务热线
1888888888
作者:文煞发布时间:2023-09-11分类:Discuz笔记浏览:291
以前遇到一个问题,在使用dz蜘蛛统计插件的时候,蜘蛛爬取记录http带443端口的页面而不直接爬取https。
一直以为是宝塔的原因,以为是宝塔没有告诉蜘蛛本站启用的是443ssl端口,使用https协议直接访问的,还跑去宝塔求助。其实这是一个乌龙。 那么问题来了:为什么蜘蛛爬取http带443端口的页面而不直接爬取https?其实并不是,只是插件代码的问题,插件是在组装URL链接的时候的一个毛病。就是80端口采用http协议组装URL,但是开启https的网站使用的是443端口,当不是80端口的时候,代码默认将端口号添加进了URL里。
百度:http://www.cjwl8.cn:443/bbssub_49_1_1.html 谷歌:http://www.cjwl8.cn:443/bbssub_50_1_1.html ............... 正常的应该是: 百度:https://www.cjwl8.cn/bbssub_49_1_1.html 谷歌:https://www.cjwl8.cn/bbssub_50_1_1.html
我们点击插件记录里的前面带:443端口的链接,出现以下提示: Bad Request Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. Apache Server at SSL.old.wensha.info Port 80 这里我使用的是宝塔软件!
插件相关代码: $port = $_SERVER["SERVER_PORT"];//端口 $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);//userAGENT $url = "http://".$_SERVER["SERVER_NAME"]; if ($port=="443"){ $url = "https://".$_SERVER["SERVER_NAME"]; }
这里在插件里增加了一个判断,判断是不是443端口,是443端口则把URL格式改为https://....的格式就可以了、
由于部分虚拟主机用户建设违法网页,导致原IP被封禁,请及时解析域名到新的IP地址:45.15.10.56!同时遵守我国法律法规,并保留将相关传播违法信息者的联系信息提供给警方的权利!
分享:
支付宝
微信