sql - 通过 HTTP 运行 SQL 查询的标准

标签 sql postgresql http protocols standards

我的客户想要在我们的网络应用程序的后端数据库上运行任意 SQL SELECT 查询,以进行临时报告。这些请求将是只读的。假设分析工具的选择是灵活的,但可能包括 Access 或 psql。我不想在公共(public) Internet 上公开数据库,而是希望通过 HTTP 传输 SQL 查询。

我能否实现允许数据库分析工具使用用户的网络应用凭据与数据库通信的网络服务?例如。而不是以 postgres:// 开头的数据库连接字符串,它将以 https:// 开头。理想情况下,我正在寻找执行此操作的 [事实上的] 标准方法。

相关但不同/未回答:

最佳答案

我不知道这方面的标准。 MK 说的有道理,这听起来像是 SLQ 注入(inject)攻击的巨大机会。服务始终公开数据库查询的结果。他们通常会请求一些参数并公开明确定义的响应。让服务的公共(public)用户全权运行他们想要的任何查询,意味着您必须确保他们不会潜入删除数据库或以某种方式从表查询中删除。防守起来可能很棘手。综上所述,我已经看到这种模式用于私有(private)服务来汇集数据库服务器知道的连接。数据库连接往往非常昂贵。

关于sql - 通过 HTTP 运行 SQL 查询的标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32981782/

相关文章:

sql - 在Sybase ASE中更新(更新或插入)?

mysql - 在数据库中将 nvarchar(MAX) 更改为 nvarchar(n)

multithreading - 当客户端是多线程时,客户端对 HTTP 429 的正确 react 是什么?

java - J2ME,逐行处理永无休止的http连接

SQL 问题,错误 "Invalid data type"

javascript - 以一对一的关系插入数据belongsTo Sequelize

postgresql - 尝试修改列类型但出现错误

php - MySQL 触发器到 PostgreSql 触发器的转换

postgresql - 不同语言的 Postgres 年龄

c# - 编码我的字符串以通过 C# 发送 http 请求