From 2c7f1346f618f2b6d77aaf5ab763313f7d51cdbe Mon Sep 17 00:00:00 2001
From: neptune
Date: Sun, 23 Aug 2020 03:59:53 -0400
Subject: Arreglados band con dynamicRead
---
cgi/framework.py | 7 +++++--
cgi/weabot.py | 11 ++++++++++-
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/cgi/framework.py b/cgi/framework.py
index dfaff3d..83624a8 100644
--- a/cgi/framework.py
+++ b/cgi/framework.py
@@ -49,8 +49,11 @@ def cleanDir(path, ext=None):
os.remove(os.path.join(path, f))
-def addressIsBanned(ip, board):
- bans = FetchAll("SELECT * FROM `bans` WHERE INET6_ATON('"+str(ip)+"') BETWEEN `ipstart` AND `ipend`")
+def addressIsBanned(ip, board, blind_only=False):
+ query = "SELECT * FROM `bans` WHERE INET6_ATON('"+str(ip)+"') BETWEEN `ipstart` AND `ipend`"
+ if blind_only:
+ query += " AND `blind` = '1'"
+ bans = FetchAll(query)
for ban in bans:
if ban["boards"] != "":
boards = pickle.loads(ban["boards"])
diff --git a/cgi/weabot.py b/cgi/weabot.py
index 2ff7105..6d8b512 100755
--- a/cgi/weabot.py
+++ b/cgi/weabot.py
@@ -251,6 +251,11 @@ class weabot(object):
OpenDb()
board = setBoard(path_split[2])
caught = True
+
+ # Redirect to ban page if user is banned
+ if addressIsBanned(self.environ['REMOTE_ADDR'], board["dir"], blind_only=True):
+ raise UserError, '' % board["dir"]
+
if len(path_split) > 4 and path_split[4] and board['board_type'] == '1':
# try:
self.output = dynamicRead(
@@ -362,6 +367,11 @@ class weabot(object):
# 4: post(s)
OpenDb()
board = setBoard(path_split[2])
+
+ # Redirect to ban page if user is banned
+ if addressIsBanned(self.environ['REMOTE_ADDR'], board["dir"], blind_only=True):
+ raise UserError, '' % board["dir"]
+
self.output = dynamicRead(
int(path_split[3]), path_split[4])
elif path_split[1] == "preview":
@@ -429,7 +439,6 @@ class weabot(object):
# Redirect to ban page if user is banned
if addressIsBanned(ip, board["dir"]):
- #raise UserError, 'Tu host está en la lista negra.'
raise UserError, '' % board["dir"]
# Disallow posting if the site OR board is in maintenance
--
cgit v1.2.1-18-gbd029