DmitrMakeev commited on
Commit
d927a76
·
verified ·
1 Parent(s): 567cff1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -10
app.py CHANGED
@@ -2252,48 +2252,46 @@ 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
- fullUrl = request.args.get('fullUrl')
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
- logging.debug(f"Received params: apps_id={apps_id}, fullUrl={fullUrl}")
2265
 
 
 
 
 
 
 
2266
  # Преобразуем строку в JSON
2267
  try:
2268
  api_key_apps_vk_dict = json.loads(api_key_apps_vk)
2269
  except json.JSONDecodeError as e:
2270
  logging.error(f"Error decoding JSON: {e}")
2271
  return jsonify({"status": "invalid"}), 200
2272
-
2273
  logging.debug(f"api_key_apps_vk_dict: {api_key_apps_vk_dict}")
2274
-
2275
  # Проверка подписи для приложения
2276
  if str(apps_id) not in api_key_apps_vk_dict: # Приводим apps_id к строке
2277
  logging.error("Invalid apps_id")
2278
  return jsonify({"error": "Invalid apps_id"}), 400
2279
-
2280
  secret = api_key_apps_vk_dict[str(apps_id)] # Приводим apps_id к строке
2281
  logging.debug(f"Using secret: {secret}")
2282
-
2283
  # Парсим полный URL для получения параметров запроса
2284
  query_params = dict(parse_qsl(urlparse(fullUrl).query, keep_blank_values=True))
2285
  logging.debug(f"Query params for signature check: {query_params}")
2286
-
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
  # Если верификация прошла успешно, отдаём файл
2293
  if not filename.endswith('.html'):
2294
  filename += '.html'
2295
  return send_from_directory(HTML_FOLDER_VK, filename)
2296
-
2297
  except Exception as e:
2298
  logging.error(f"An error occurred: {str(e)}")
2299
  return jsonify({"error": str(e)}), 500
@@ -2301,6 +2299,7 @@ def serve_html_vk(filename):
2301
 
2302
 
2303
 
 
2304
 
2305
 
2306
 
 
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
+ base_url = request.args.get('fullUrl')
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={base_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
 
2299
 
2300
 
2301
 
2302
+
2303
 
2304
 
2305