added banlist
This commit is contained in:
14
main.py
14
main.py
@@ -77,7 +77,6 @@ class WebServer:
|
||||
|
||||
if real_addr and config.proxied:
|
||||
addr = (real_addr, addr[1])
|
||||
|
||||
request = data.split("\n")[0]
|
||||
parts = request.split()
|
||||
if len(parts) < 2: return
|
||||
@@ -86,7 +85,7 @@ class WebServer:
|
||||
file_name = path[1:] if path.startswith('/') else path
|
||||
file_path = os.path.abspath(os.path.join(config.directory, file_name))
|
||||
|
||||
if not file_path.startswith(os.path.abspath(config.directory)):
|
||||
if not file_path.startswith(os.path.abspath(config.directory)): # directory traversal
|
||||
await self.log(config.err_msgs[418], addr, file_path)
|
||||
file_size = os.path.getsize(config.err_files[418])
|
||||
await self.send_headers(writer, 418, file_size)
|
||||
@@ -95,6 +94,17 @@ class WebServer:
|
||||
writer.close()
|
||||
await writer.wait_closed()
|
||||
return
|
||||
|
||||
|
||||
if addr[0] in utils.get_banlist(): # banlist for pidors
|
||||
await self.log(config.err_msgs[403], addr, file_path)
|
||||
file_size = os.path.getsize(config.err_files[403])
|
||||
await self.send_headers(writer, 403, file_size)
|
||||
await self.send_file(writer, config.err_files[403], file_size)
|
||||
|
||||
writer.close()
|
||||
await writer.wait_closed()
|
||||
return
|
||||
|
||||
|
||||
if os.path.isfile(file_path):
|
||||
|
Reference in New Issue
Block a user