1
0
mirror of https://github.com/alm494/sql_proxy.git synced 2026-04-26 19:41:50 +02:00
This commit is contained in:
Almaz Sharipov
2026-04-20 15:05:42 +03:00
parent c074c2bbcf
commit 5f40917ca3
2 changed files with 7 additions and 5 deletions
+4 -3
View File
@@ -32,13 +32,14 @@ Note that this service is not limited to 1C and can be utilized in other context
* Secure Communication : Supports HTTPS for secure data transmission;
* Efficient Connection Pooling : Utilizes a shared, reusable SQL connection pool with automated maintenance tasks to remove stale or dead connections;
* Connection Limiting : Configurable maximum number of concurrent database connections to prevent resource exhaustion;
* Command Support : Currently supports all SQL commands with no limitation. The SELECT command returns query results as a flexible JSON-formatted recordset;
* Command Support : Currently supports all SQL commands with no limitation (I am familiar with SQL injection. Read below about security patterns). The SELECT command returns query results as a flexible JSON-formatted recordset;
* Result Limitation : Allows configuration to limit the number of rows returned by SELECT statements;
* Prepared Statements : supported;
* BLOB read/write : supported;
* Flexible Binding : Can bind to localhost or any specified IP address for enhanced security. By default, it is intended to bind to localhost and run alongside legacy software;
* Security Responsibility : Does not perform SQL query validation and any other security checks. It is the responsibility of DBA to configure appropriate database privileges. Keep in mind ADODB is the old-school engineering and this tool is the simple and quick replacement. All security-related work must be completed
first at SQL server — as it always was, long before the era of shiny new toys. Consider to implement ORM model in the future or another secure-driven patterns;
* Security : Does not perform SQL query validation and any other security checks (!). It is the responsibility of DBA to configure appropriate database privileges. Keep in mind ADODB is the old-school engineering and this tool is the simple and quick replacement. All security-related work must be completed
first at SQL server — as it always was, long before the era of shiny new toys. Never use admin accounts with this service! Does not expose it to the untrusted network!
Consider to implement ORM model in the future or another secure-driven patterns;
* Monitoring and Metrics : Provides Prometheus metrics for performance monitoring and observability;
## API description
+3 -2
View File
@@ -37,12 +37,13 @@
+ Защищённое соединение: при необходимости, поддерживает HTTPS для безопасной передачи данных;
+ Пул соединений: использует общий переиспользуемый пул SQL-соединений с регламентными задачами обслуживания для удаления устаревших или зависших соединений;
+ Ограничение соединений: настраиваемый лимит одновременных подключений к базе данных для предотвращения исчерпания ресурсов;
+ Поддержка языка SQL: поддерживает любые SQL-команды без ограничений. Команда SELECT возвращает результаты запроса в виде гибкого JSON-формата набора записей;
+ Поддержка языка SQL: поддерживает любые SQL-команды без ограничений (да, я знаю что такое "sql-инъекция", про отношение к безопасности читай ниже). Команда SELECT возвращает результаты запроса в виде гибкого JSON-формата набора записей;
+ Ограничение результатов: позволяет настраивать ограничения на количество строк, возвращаемых командами SELECT;
+ Поддержка подготовленных выражений: реализована;
+ Поддержка записи и чтения BLOB полей: реализована;
+ Гибкая привязка: может быть привязан к localhost или любому указанному IP-адресу для повышения безопасности. По умолчанию предполагается привязка к localhost и работа в паре с устаревшим программным обеспечением;
+ Ответственность за безопасность: не выполняет валидацию SQL-запросов. Ответственность за настройку соответствующих привилегий базы данных лежит на администраторе СУБД. Помните, что это простая и быстрая замена вызовов ADODB, который является "дедовской" технологией, и раз вы заинтересованы заменить его, то у вас уже должны быть настроены роли и пользователи на СУБД, в противовес тому что принято сейчас в смузи-технологиях. Не используйте учётную запись с административными привилегиями! Рассмотрите на будущее
+ Безопасность: сервис не выполняет валидацию SQL-запросов (!). Ответственность за настройку соответствующих привилегий базы данных лежит на администраторе СУБД. Помните, что это простая и быстрая замена вызовов ADODB, который является "дедовской" технологией, и раз вы заинтересованы заменить его, то у вас уже должны быть настроены роли и пользователи на СУБД, в противовес тому что принято сейчас в смузи-технологиях. Для работы с сервисом не используйте учётную запись с административными привилегиями! Сервис
изначально рассчитан для работы на localhost и публикация его на внешний IP-адрес сервера является рискованным занятием! Рассмотрите на будущее
разработку ORM или других более безопасных паттернов разработки.
+ Мониторинг и метрики: предоставляет метрики Prometheus;