From 2420a22d4cd2e56ddb03aa81ef71c6e529e40f76 Mon Sep 17 00:00:00 2001 From: Hetian Huo Date: Tue, 1 Aug 2017 19:12:34 +0800 Subject: [PATCH 1/2] fix ip filter --- itchatmp/controllers/mpapi/base/common.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/itchatmp/controllers/mpapi/base/common.py b/itchatmp/controllers/mpapi/base/common.py index 086c482..24acefa 100644 --- a/itchatmp/controllers/mpapi/base/common.py +++ b/itchatmp/controllers/mpapi/base/common.py @@ -1,4 +1,4 @@ -import functools, logging, time, threading, traceback +import functools, logging, time, threading, traceback, ipaddress from datetime import datetime, timedelta from requests import get @@ -210,8 +210,6 @@ def _wrap_result(result): result = ReturnValue(result.json()) if 'ip_list' in result: result['errcode'] = 0 - for i, v in enumerate(result['ip_list']): - result['ip_list'][i] = v[:v.rfind('/')] return result r._wrap_result = _wrap_result return r @@ -232,4 +230,8 @@ def clear_server_list(): if not self._serverList: logger.debug('Server list is loading, so ignore verifying once.') return True + for CIDR in self._serverList: + if ipaddress.ip_address(request.remote_ip) in ipaddress.ip_network(CIDR): + return True + return False return request.remote_ip in self._serverList From 00c21338563fa3ea1677ca550442e30180f2a479 Mon Sep 17 00:00:00 2001 From: Hetian Huo Date: Tue, 1 Aug 2017 19:15:06 +0800 Subject: [PATCH 2/2] Update common.py --- itchatmp/controllers/mpapi/base/common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/itchatmp/controllers/mpapi/base/common.py b/itchatmp/controllers/mpapi/base/common.py index 24acefa..8d5e827 100644 --- a/itchatmp/controllers/mpapi/base/common.py +++ b/itchatmp/controllers/mpapi/base/common.py @@ -234,4 +234,4 @@ def clear_server_list(): if ipaddress.ip_address(request.remote_ip) in ipaddress.ip_network(CIDR): return True return False - return request.remote_ip in self._serverList +