Initial commit: TrueConf Chatbot КЛЕВЕР
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python3
|
||||
# /opt/trueconf_bot/test_secure_connect.py
|
||||
|
||||
import sys
|
||||
import os
|
||||
import pymssql
|
||||
|
||||
# Добавляем путь к проекту для корректных импортов конфигурации
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
try:
|
||||
print("🔄 Загружаем конфигурацию и выгружаем секреты из Passwork...")
|
||||
import config.config as config
|
||||
except ImportError as e:
|
||||
print(f"❌ Ошибка импорта config.py: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
def main():
|
||||
# Технические параметры целевого сервера
|
||||
SERVER = '172.16.20.203'
|
||||
DATABASE = 'iskmdax_model'
|
||||
|
||||
# Извлекаем данные из автоматически загруженного пула
|
||||
USER = getattr(config, 'DB_USER', None)
|
||||
PASSWORD = getattr(config, 'DB_PASSWORD', None)
|
||||
|
||||
if not USER or not PASSWORD:
|
||||
print("❌ Ошибка: Учетные данные для подключения к БД не найдены в Passwork!")
|
||||
sys.exit(1)
|
||||
|
||||
print(f"🔌 Устанавливаем ЗАЩИЩЕННОЕ соединение (encryption='require')...")
|
||||
print(f" Сервер: {SERVER}")
|
||||
print(f" База: {DATABASE}")
|
||||
print(f" Логин: [ДАННЫЕ СКРЫТЫ]")
|
||||
print("-" * 60)
|
||||
|
||||
try:
|
||||
conn = pymssql.connect(
|
||||
server=SERVER,
|
||||
user=USER,
|
||||
password=PASSWORD,
|
||||
database=DATABASE,
|
||||
charset='cp1251',
|
||||
encryption='require' # Строгое требование SSL/TLS
|
||||
)
|
||||
cursor = conn.cursor()
|
||||
print("✅ Защищенное TLS/SSL соединение с сервером успешно установлено!")
|
||||
|
||||
# Проверочный SQL-запрос
|
||||
query = "SELECT TOP(5) * FROM dbo.Layer;"
|
||||
print(f"🏃 Выполняем тестовый запрос: {query}\n")
|
||||
|
||||
cursor.execute(query)
|
||||
rows = cursor.fetchall()
|
||||
|
||||
if rows:
|
||||
print(f"🎯 Успешно получено строк: {len(rows)}")
|
||||
for idx, row in enumerate(rows, 1):
|
||||
# Печатаем содержимое строки как есть
|
||||
print(f" 🔹 Строка #{idx}: {row}")
|
||||
else:
|
||||
print("📭 Запрос выполнен успешно, но целевая таблица оказалась пустой.")
|
||||
|
||||
conn.close()
|
||||
print("\n🏁 Тест защищенного соединения завершен успешно!")
|
||||
|
||||
except Exception as e:
|
||||
print(f"\n❌ Ошибка подключения или выполнения запроса!")
|
||||
error_msg = str(e)
|
||||
if "Login failed" in error_msg or "18456" in error_msg:
|
||||
print("Детали: Ошибка аутентификации (проверьте корректность учетных данных в Passwork).")
|
||||
else:
|
||||
print(f"Детали: {error_msg}")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user