Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2252,54 +2252,51 @@ def upload_page_vk():
|
|
| 2252 |
|
| 2253 |
|
| 2254 |
# Дублированный маршрут для обслуживания загруженных страниц
|
| 2255 |
-
app.route('/page_vk/<path:filename>', methods=['GET'])
|
| 2256 |
def serve_html_vk(filename):
|
| 2257 |
try:
|
| 2258 |
# Получаем параметры из GET-запроса
|
| 2259 |
apps_id = request.args.get('apps_id')
|
| 2260 |
-
|
| 2261 |
-
vk_app_id = request.args.get('vk_app_id')
|
| 2262 |
-
vk_are_notifications_enabled = request.args.get('vk_are_notifications_enabled')
|
| 2263 |
-
vk_is_app_user = request.args.get('vk_is_app_user')
|
| 2264 |
|
|
|
|
| 2265 |
|
| 2266 |
-
|
| 2267 |
-
logging.debug(f"Received params: apps_id={apps_id}")
|
| 2268 |
-
logging.debug(f"Received params: fullUrl={ba_url}")
|
| 2269 |
-
logging.debug(f"Received params: vk_app_id={vk_app_id}")
|
| 2270 |
-
logging.debug(f"Received params: vk_are_notifications_enabled={vk_are_notifications_enabled}")
|
| 2271 |
# Преобразуем строку в JSON
|
| 2272 |
try:
|
| 2273 |
api_key_apps_vk_dict = json.loads(api_key_apps_vk)
|
| 2274 |
except json.JSONDecodeError as e:
|
| 2275 |
logging.error(f"Error decoding JSON: {e}")
|
| 2276 |
return jsonify({"status": "invalid"}), 200
|
|
|
|
| 2277 |
logging.debug(f"api_key_apps_vk_dict: {api_key_apps_vk_dict}")
|
|
|
|
| 2278 |
# Проверка подписи для приложения
|
| 2279 |
if str(apps_id) not in api_key_apps_vk_dict: # Приводим apps_id к строке
|
| 2280 |
logging.error("Invalid apps_id")
|
| 2281 |
return jsonify({"error": "Invalid apps_id"}), 400
|
|
|
|
| 2282 |
secret = api_key_apps_vk_dict[str(apps_id)] # Приводим apps_id к строке
|
| 2283 |
logging.debug(f"Using secret: {secret}")
|
|
|
|
| 2284 |
# Парсим полный URL для получения параметров запроса
|
| 2285 |
query_params = dict(parse_qsl(urlparse(fullUrl).query, keep_blank_values=True))
|
| 2286 |
logging.debug(f"Query params for signature check: {query_params}")
|
|
|
|
| 2287 |
# Проверяем подпись
|
| 2288 |
if not is_valid(query=query_params, secret=secret):
|
| 2289 |
logging.error("Invalid signature")
|
| 2290 |
return jsonify({"error": "Invalid signature"}), 400
|
|
|
|
| 2291 |
# Если верификация прошла успешно, отдаём файл
|
| 2292 |
if not filename.endswith('.html'):
|
| 2293 |
filename += '.html'
|
| 2294 |
return send_from_directory(HTML_FOLDER_VK, filename)
|
|
|
|
| 2295 |
except Exception as e:
|
| 2296 |
logging.error(f"An error occurred: {str(e)}")
|
| 2297 |
return jsonify({"error": str(e)}), 500
|
| 2298 |
|
| 2299 |
|
| 2300 |
-
|
| 2301 |
-
|
| 2302 |
-
|
| 2303 |
|
| 2304 |
|
| 2305 |
|
|
|
|
| 2252 |
|
| 2253 |
|
| 2254 |
# Дублированный маршрут для обслуживания загруженных страниц
|
| 2255 |
+
@app.route('/page_vk/<path:filename>', methods=['GET'])
|
| 2256 |
def serve_html_vk(filename):
|
| 2257 |
try:
|
| 2258 |
# Получаем параметры из GET-запроса
|
| 2259 |
apps_id = request.args.get('apps_id')
|
| 2260 |
+
fullUrl = request.args.get('fullUrl')
|
|
|
|
|
|
|
|
|
|
| 2261 |
|
| 2262 |
+
logging.debug(f"Received params: apps_id={apps_id}, fullUrl={fullUrl}")
|
| 2263 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2264 |
# Преобразуем строку в JSON
|
| 2265 |
try:
|
| 2266 |
api_key_apps_vk_dict = json.loads(api_key_apps_vk)
|
| 2267 |
except json.JSONDecodeError as e:
|
| 2268 |
logging.error(f"Error decoding JSON: {e}")
|
| 2269 |
return jsonify({"status": "invalid"}), 200
|
| 2270 |
+
|
| 2271 |
logging.debug(f"api_key_apps_vk_dict: {api_key_apps_vk_dict}")
|
| 2272 |
+
|
| 2273 |
# Проверка подписи для приложения
|
| 2274 |
if str(apps_id) not in api_key_apps_vk_dict: # Приводим apps_id к строке
|
| 2275 |
logging.error("Invalid apps_id")
|
| 2276 |
return jsonify({"error": "Invalid apps_id"}), 400
|
| 2277 |
+
|
| 2278 |
secret = api_key_apps_vk_dict[str(apps_id)] # Приводим apps_id к строке
|
| 2279 |
logging.debug(f"Using secret: {secret}")
|
| 2280 |
+
|
| 2281 |
# Парсим полный URL для получения параметров запроса
|
| 2282 |
query_params = dict(parse_qsl(urlparse(fullUrl).query, keep_blank_values=True))
|
| 2283 |
logging.debug(f"Query params for signature check: {query_params}")
|
| 2284 |
+
|
| 2285 |
# Проверяем подпись
|
| 2286 |
if not is_valid(query=query_params, secret=secret):
|
| 2287 |
logging.error("Invalid signature")
|
| 2288 |
return jsonify({"error": "Invalid signature"}), 400
|
| 2289 |
+
|
| 2290 |
# Если верификация прошла успешно, отдаём файл
|
| 2291 |
if not filename.endswith('.html'):
|
| 2292 |
filename += '.html'
|
| 2293 |
return send_from_directory(HTML_FOLDER_VK, filename)
|
| 2294 |
+
|
| 2295 |
except Exception as e:
|
| 2296 |
logging.error(f"An error occurred: {str(e)}")
|
| 2297 |
return jsonify({"error": str(e)}), 500
|
| 2298 |
|
| 2299 |
|
|
|
|
|
|
|
|
|
|
| 2300 |
|
| 2301 |
|
| 2302 |
|