-
在前一天里,我们已经能够借助GitHub搭建一个自己的博客网站,当然在此基础上可以做更多优化,比如寻找自己更喜欢的模板布局,对网站的内容做进一步填充,买个域名作为网站网址等,今天就先把这些东西放一放
目录
- [将GitHub page域名更改为自己买的域名](#将GitHub page域名更改为自己买的域名)
- 使用cloudflare加速
- 如何设置一个本地测试服务器
- 如何搭建crypto的动态环境
将GitHub page域名更改为自己买的域名
第一步:去GitHub添加这一域名
第二步:ping username.github.io,看是ipv4地址还是ipv6地址,并且这个地址复制下来
第三步:前往购买域名的服务商,以阿里云为例,添加两条记录(如果是ipv4就添加A记录)
使用cloudflare加速
这个东西呢,就相当于免费的加速器,选择免费模式,同样添加两条记录,再根据引导修改DNS服务器为cloudflare的两个服务器
如何设置一个本地测试服务器
当我们写好一个html文件,拖入浏览器中无法正常显示,原因是这样
简单地说,就是要把文件用服务器运行一下才能正常显示,如果我们不想写一个服务器怎么办呢,我用的是vscode的一个插件
如何搭建crypto的动态环境
- 一开始学习web的问题,也是得到了答案,我们所见到的crypto动态题目,大多都是用python语言编写,有处理请求和返回响应的功能,其实是因为出题人在服务器端运行了这段python代码,那么比赛一结束,没有了服务器,我们应该怎么复现呢,分两种情况考虑
-
脚本自己写了服务器端的代码(即接收响应和回答的一整个逻辑都写好了),运行即可,再新开一个脚本做题,用pwntools工具对服务器脚本给的地址进行连接
-
脚本只有题目的逻辑,没有交互的逻辑
解决方案呢有两种,第一种是如果你有租用的服务器,将文件上传到服务器运行即可,不过学密码的话应该不会有,所以我更推荐第二种,就是模仿上面的代码写一个交互的逻辑
我看大多数脚本都是用到socket库,可能是因为比较简单,如果你不想使用 Web 框架,也可以使用 Python 的 socket 库直接编写 TCP 或 UDP 服务器。
py
import socket
# 创建一个 TCP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_socket.bind(('localhost', 12345))
# 开始监听客户端连接
server_socket.listen(5)
print("Server is listening on port 12345...")
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print(f"Connection established with {client_address}")
# 接收客户端发送的数据
data = client_socket.recv(1024)
print(f"Received data: {data.decode()}")
# 发送响应
client_socket.send(b'Hello from the server')
# 关闭连接
client_socket.close()
server_socket.close()
这段代码创建了一个 TCP 服务器,监听 localhost 的 12345 端口。
- 服务器接受客户端的连接,接收数据并返回 "Hello from the server"。
- 客户端连接断开后,服务器关闭连接并终止。
- 其实到这里所有问题都解决了,不管是搭网站还是搭动态环境,暂时用GitHub搭的网站其实够了,不想再继续深入研究了,干脆直接去打打web题来学习,那么这个系列就到此结束了