mdbq 4.1.4__tar.gz → 4.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mdbq might be problematic. Click here for more details.
- {mdbq-4.1.4 → mdbq-4.1.6}/PKG-INFO +1 -1
- mdbq-4.1.6/mdbq/__version__.py +1 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/auth/auth_backend.py +9 -9
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq.egg-info/PKG-INFO +1 -1
- mdbq-4.1.4/mdbq/__version__.py +0 -1
- {mdbq-4.1.4 → mdbq-4.1.6}/README.txt +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/auth/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/auth/crypto.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/auth/rate_limiter.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/js/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/js/jc.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/log/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/log/mylogger.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/myconf/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/myconf/myconf.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/mysql/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/mysql/deduplicator.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/mysql/mysql.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/mysql/s_query.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/mysql/unique_.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/mysql/uploader.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/other/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/other/error_handler.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/other/otk.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/other/pov_city.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/other/ua_sj.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/pbix/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/redis/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/redis/getredis.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/redis/redis_cache.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/route/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/route/analytics.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/route/monitor.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/route/routes.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/selenium/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/selenium/get_driver.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq/spider/__init__.py +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/setup.cfg +0 -0
- {mdbq-4.1.4 → mdbq-4.1.6}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = '4.1.6'
|
|
@@ -2325,7 +2325,7 @@ class SlideCaptchaManager:
|
|
|
2325
2325
|
captcha_data_str = self.redis_client.get(captcha_key)
|
|
2326
2326
|
|
|
2327
2327
|
if not captcha_data_str:
|
|
2328
|
-
return {'success': False, 'message': '
|
|
2328
|
+
return {'success': False, 'message': '验证失败'} # 验证码过期
|
|
2329
2329
|
|
|
2330
2330
|
captcha_data = json.loads(captcha_data_str)
|
|
2331
2331
|
|
|
@@ -2333,7 +2333,7 @@ class SlideCaptchaManager:
|
|
|
2333
2333
|
captcha_data['attempts'] += 1
|
|
2334
2334
|
if captcha_data['attempts'] > captcha_data['max_attempts']:
|
|
2335
2335
|
self.redis_client.delete(captcha_key)
|
|
2336
|
-
return {'success': False, 'message': '
|
|
2336
|
+
return {'success': False, 'message': '尝试次数过多'}
|
|
2337
2337
|
|
|
2338
2338
|
# 验证滑动距离
|
|
2339
2339
|
expected_x = captcha_data['puzzle_x']
|
|
@@ -2342,16 +2342,16 @@ class SlideCaptchaManager:
|
|
|
2342
2342
|
# 验证滑动时间(防止机器人)
|
|
2343
2343
|
if slide_time < 0.3: # 滑动时间太短
|
|
2344
2344
|
self._update_captcha_attempts(captcha_key, captcha_data)
|
|
2345
|
-
return {'success': False, 'message': '
|
|
2345
|
+
return {'success': False, 'message': '验证失败'} # 回传模糊信息即可
|
|
2346
2346
|
|
|
2347
2347
|
if slide_time > 60: # 滑动时间太长
|
|
2348
2348
|
self._update_captcha_attempts(captcha_key, captcha_data)
|
|
2349
|
-
return {'success': False, 'message': '
|
|
2349
|
+
return {'success': False, 'message': '验证失败'} # 回传模糊信息即可
|
|
2350
2350
|
|
|
2351
2351
|
# 验证滑动轨迹(简单的轨迹分析)
|
|
2352
2352
|
if not self._validate_slide_track(slide_track, slide_x, slide_time):
|
|
2353
2353
|
self._update_captcha_attempts(captcha_key, captcha_data)
|
|
2354
|
-
return {'success': False, 'message': '
|
|
2354
|
+
return {'success': False, 'message': '验证失败'} # 回传模糊信息即可
|
|
2355
2355
|
|
|
2356
2356
|
# 验证位置精度
|
|
2357
2357
|
if distance_error <= self.puzzle_tolerance:
|
|
@@ -2368,16 +2368,16 @@ class SlideCaptchaManager:
|
|
|
2368
2368
|
|
|
2369
2369
|
return {
|
|
2370
2370
|
'success': True,
|
|
2371
|
-
'message': '验证成功'
|
|
2372
|
-
|
|
2371
|
+
'message': '验证成功'
|
|
2372
|
+
# 移除 verify_token 返回,直接在Redis中标记验证状态
|
|
2373
2373
|
}
|
|
2374
2374
|
else:
|
|
2375
2375
|
# 更新尝试次数
|
|
2376
2376
|
self._update_captcha_attempts(captcha_key, captcha_data)
|
|
2377
2377
|
return {
|
|
2378
2378
|
'success': False,
|
|
2379
|
-
'message': '
|
|
2380
|
-
'attempts_left': captcha_data['max_attempts'] - captcha_data['attempts']
|
|
2379
|
+
'message': '验证失败',
|
|
2380
|
+
# 'attempts_left': captcha_data['max_attempts'] - captcha_data['attempts']
|
|
2381
2381
|
}
|
|
2382
2382
|
|
|
2383
2383
|
except Exception as e:
|
mdbq-4.1.4/mdbq/__version__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
VERSION = '4.1.4'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|