《目录》
名词解析
IP:ip 实际上就是生活中的地址,好像 XX省XX市XX区...... ,只不过 ip 是由数字组成。
IP 分为内网ip 和 公网ip,公网地址是运营商分配,内网地址是路由器分配的。
内网的IP,只能用于当前路由器。举个例子,
如果把当前路由器当成一个柜子,每个柜子都有编号(1号、2号,......,N号)。
某一个内网 IP地址 就相当于某一个柜子,ip 就是编号,这个编号只能用在当前柜子。
内网IP:
10.0.0.0 | 到 | 10.255.255.255 |
172.16.0.0 | 到 | 172.31.255.255 |
192.168.0.0 | 到 | 192.168.255.255 |
内网IP 以 10、172、192 打头。
查看本机的内网 IP,
Mac 和 Linux :在终端输入 ifconfig,找到以 10、172、192 打头的即可。
Windows:在命令行输入 ipconfig,找到以 10、172、192 打头的即可。
公网的IP,如同快递柜。这个 ip地址 写明了 XX省XX市XX区XX街道XX号柜子。
查看本机的公网的IP,在浏览器里输入 IP 即可,我就不展示了,公网的IP给别人看可能会被 DDOS 攻击等。
公网的IP 就等同于一个网址,比如,www.baidu.com,百度的IP地址可以 ping 出来。
我这里 ping 出来的是 183.232.231.172,可以复制到浏览器里打开不出意外就是百度的网站。
因此,无论是 www.baidu.com(域名) 和 183.232.231.172(IP) 都可以访问百度。
IP 是网络世界的地址,那么域名是什么居然等同于地址的功能 ?
域名其实是 IP地址 的另一种形式,只是为了方便记忆。
这就像以前的机器语言,只有0和1,后来为了方便记忆就发明了汇编语言,同理,程序里的变量名、函数名也是助记符。
设计者一定会通过某种机制,实现转换。
这种机制叫 DNS,DNS 是一种协议,功能便是将 域名 转换为 公网IP的地址。
域名:方便记忆而发明的一种字符标识。
DNS如同表格的形式,
域名 | 公网IP地址 |
www.baidu.com | 183.232.231.172 |
www.xxx.com | 1.1.1.1 |
...... | ...... |
域名也有等级,
顶级域名 | xxx . xxx | 需要申请 | baidu.com |
二级域名 | xxx . xxx . xxx | 随便开通 | www.baidu.com |
三级域名 | xxx . xxx . xxx . xxx | 随便开通 | www.baidu.com.cn |
- .com(商)、 .edu(教)、 .gov(政)、 .mil(军)
渗透时,最好不要动最后俩个否则会有人找上门......
子域名:顶级域名下的二级域名或三级甚至更多级的域名都是子域名,另外一些只有 ip 访问(一般这样的站点是不想让太多人访问)的 Web站 也是子域名的收集范围(但不是子域名,只收集)。
举个例子,百度的顶级域名是 baidu.com,而ta的子域名就是 www.baidu.com。
我们普遍认为 www.baidu.com 才是百度的主站,因为无论输入 baidu.com 还是 www.baidu.com,浏览器都会打开www.baidu.com 的网页。
其实 baidu.com 这个顶级域名是存在的,只不过网站管理员做了强制跳转因此怎么访问都是跳转到二级域名www.baidu.com。
网页链接中有 www 和 没有www 的区别:https://zhidao.baidu.com/question/14041317.html。
更多的顶级域名实例:《各大公司的顶级域名抢夺大战》。
端口:看电脑侧面的 USB 接口,如果使用键盘就需要把键盘的 USB线 连上一个电脑的 USB 接口;
我们登陆网站,也就是访问了他们服务器的接口,原理同 USB 接口只不过因为这个是网络接口所以连接不需要用到物理设备,默认访问 80 端口。
常见的端口:
MAC地址:也是网卡的物理地址,搞这个应该是为了方便在网络上找人。比如,某某人在网络上造谣,可以根据 MAC地址锁定ta。
因为 MAC地址是唯一的,如同人的身份证,身份证是基层派出所写入的,而后依次传至县、市两级公安机关进行审核,审批通过后将传至省级公安厅核验,最终在这里制作居民身份证;MAC地址是由网卡生产厂家烧录的,和身份证一样是唯一的。
不过,MAC地址可以伪造。
其余的内容,我写在爬虫里《待命出发》:
- HTTP
- User-Agent
- Cookies
常见的服务器系统
Mac(苹果),路径大概是:/Users/debroon,debroon 是我个人的用户名所以每台电脑第2个会不一样。
Windows(微软),路径大概是:C:\Users\BlackJack> 。
Linux,路径大概是::/etc/init# 。
相对路径 和 绝对路径
相对路径:就是根你文件相对应的平级目录,更安全因为信息隐藏的好。
绝对路径:深一级目录或返回上一级目录后在向下寻找目标的方式。
以Windows为例,
在终端输入: cd ./ ,后发现路径没变,
如果输入: cd ../,后路径变成上一级目录,
因此,相对路径就如在一个文件里动作或是从一个目录为起点到你所在的目录,而绝对路径是从根目录到当前文件。
那为什么相对路径比绝对路径安全 ?
假如现在有图片 "img.gif",下载在 IMG 文件夹中,那么:
绝对路径:C:/draw/pic/IMG/img.gif
相对路径:./IMG/img.gif
因为没有显示全部的路径,所以安全。
Web容器
web容器是一个程序,这个程序是被动的,常常被称为“中间件”。
因为是一个被动的程序,所以需要其他计算机发出请求给ta时,ta才会响应。
功能是,存储、处理、传送网页给浏览器。
在浏览器中输入一个网址,浏览器会向服务器发送请求,这个服务器就是Web容器,接收到请求自然会响应,把网页的内容给浏览器。
常见的Web容器:
- IIS,Windows 平台专用;
- Apache,通用,跨平台;
- Nginx,通用,跨平台;
搭建web安全环境
一般会采用软件来快速搭建。
实验环境:Windows任意版本、phpstudy,Mac电脑可以用虚拟机:Parallels Desktop(点击即可下载,密码:84qr)。
常见服务器的环境快速搭建软件:
- 语言 JSP,Tomcat
- 语言 PHP,PHPStudy,Windows平台(我们要用的)
- 语言 PHP,lnmp,Linux平台
PHPStudy官网:http://phpstudy.php.cn/index.php 或者
我使用一个版本是最好的:https://download.csdn.net/download/qq_41739364/11388511。
下载下来,解压到C盘,因为虚拟机只有一个盘。
又因为 phpstudy 要求的权限比较高,需要鼠标右键管理员身份运行。
按照提示,会需要下载一个 VC9 的库,可以百度一下,也可以谷歌俩下,最后可以Q我(23609099)。
如果你的 phpstudy 弄好了,用浏览器服务自己会有 phpstudy 探针。
如果,phpstudy 没有搭建好,那访问自己的网页应该是一片空白吧。
跟着图片操作,
点击网站根目录,
delete掉俩个php文件即第 2、3 个,再用浏览器访问自己(输入127.0.0.1就是访问自己)。
页面就干净了,现在显示的是网页的根目录,其实也就是您的文件夹呀。
也就是说,这个网站所有的文件都在您本地的 phpMyAdim 文件夹中。
如果您点击phpMyAdim 文件夹,会列出所有的文件;但如果点击网页中的 phpMyAdim/ , 却是一个登陆界面 ......
以 phpMyAdim 文件夹举例,在 Web环境中,如果phpMyAdim 文件夹有 index.php 文件,如图
在浏览器访问html界面时,会自动的访问 index.php
如果把index重名命,那么浏览器访问 phpMyAdim 文件夹 就会把所有文件都列出来:
如果只是为了自己用,开着方便调试网站。
但发布出去后,为了保证自己网站的安全,应该取消掉,取消方法:
再去访问,就发现权限不足。
另外,MySQL 的密码要改,否则可以通过 MySQL(一般是 3306) 破解弱密码再通过特殊的语句拿到网站的权限。
也可以通过命令行,访问 MySQL:
默认密码:root
也可以直接用 windows系统自带的命令行,进入到 phpstudy文件夹中输入:mysql -u root -p
再输入密码即可。
如果出现 mysql 不是内部或外部命令 的情况,那就是没找到 mysql 文件。
需要手动打开 mysql 页面,
摁住 "shift" + 鼠标右键 打开 cmd:
输入:mysql -u root -p 再输入默认密码即可。
如果想在任何文件下都可以直接访问 mysql,需要设置环境变量。
拷贝 mysql的bin 文件夹的路径。
打开[系统属性] -> [远程设置] -> [高级] -> [环境变量] ->[系统变量的Path] -> [编辑] -> [在末尾输入分号加 mysql 文件夹路径]
打开命令行测试即可,如果还是不行可以百度一下,谷歌俩下,可能是输入有误,不是分号。
稍稍解释一下,输入分号是因为在 SQL 语句中都是以分号结尾,把路径加进去系统就会找俩个路径,一个是原来的,另一个是我们加的。
新建一个网站,内容相同:
改一下端口即可,上图中 80 改成了 81(随意改),点击新增。
浏览器访问默认的 80 端口网址:http://127.0.0.1/ 或是 http://127.0.0.1:80
浏览器访问修改的 81 端口网址:http://127.0.0.1:81/
phpstudy功能很多,如:
现在有了一个Web环境,继续搭建一个网站就完善了。
搭建网站,一般需要掌握Web开发的技能,有兴趣可以看看这个 《周哥教IT&快速Web开发》。
不过,从头学起对于小白来说,实在是勉强了。
有一种叫 CMS 的东西,是一个快速建站的模板。
以其中的织梦为例,link: http://www.dedecms.com/products/dedecms/downloads/,一般流行到 github 下载 CMS 代码。
下载 gbk 版本,解压放到 phpstudy 的 WWW 文件夹(复制也行),而后访问 upload 文件夹,接着在浏览器里输入:
进入安装引导即可,安装过程需要输入数据库密码:
下拉,管理员账号、密码记一下,点击返回网站首页。
这样,就快速搭建了Web环境。
哦耶,完成 ✅。
输入 127.0.0.1/uploads/dede ,可以访问后台。
不过,这是在本地搭建的。
可以用 cmd 看看 ip:
在浏览器里输入 ip:(如果是新建站点,需要在ip后输入端口号)
如果出现 403,需要在 phpstudy 中的允许目录列表给挂上,上面有教程。
如果还没好,大概是防火墙。
需要减低防火墙强度,到防火墙的界面关了即可。
如果把网络改成桥接模式,那在同一内网就可以访问这个网站。
网站发布的一般流程和方法
- 申请域名
- 买虚拟主机空间,设置 DNS 解析
- 设置主页
- 申请备案,幕布拍照
- 设置 HTTPS 访问
申请域名:域名尽量取好,以下是购买域名的网站。
如果没被注册,就可以按照喜好给买下来。(debroon系不要买了,迟早都是我的)
买虚拟主机空间,设置 DNS 解析
如果使用匿名邮箱,就可以一直白瞟(匿名邮箱,记录在《SQL注入》)
DNS 解析就是把域名导入在虚拟主机给定的IP。
申请备案,幕布拍照
- 如果购买的阿里云等等的主机,需要备案。
- 如果购买的是香港的主机是不需要备案的,但访问速度会慢一些。
设置 HTTPS 访问
- 《快速Web开发》
下一节:《Web前后端基础》。