【问题标题】:How can I query (with SQL) from browser?如何从浏览器查询(使用 SQL)?
【发布时间】:2020-06-05 12:23:46
【问题描述】:

我有一个 .csv,我想将其用作数据库并从浏览器对其运行 SQL 查询。 (理想情况下,我想先上传 .csv。但它也可以存储)。认为这可以用 Django 和 Postgres 数据库来完成。 有没有更简单的方法来实现这一点?

  • WebSQL 是一种选择吗?还有什么我没有想到的吗?

理想情况下,我希望避免 SQL 注入。我尝试搜索堆栈溢出并找到了这个(Display SQL query results in php),但这不是我要找的。

基本上所需的功能是:当一个人来到网页时,他们可以对 .csv 中的数据运行 SQL 查询。他们在 HTML 表单中输入查询并提交表单,然后结果将显示在与实际查询相同的页面上。

【问题讨论】:

标签: javascript html sql database web-sql


【解决方案1】:

使用浏览器内库从 csv 文件加载数据,例如Papa Parse,然后同样使用浏览器内库,但这次for SQLite,创建一个空的内存数据库,填充它从 csv 文件中加载数据,然后使用相同的库查询数据库。

【讨论】:

  • 请删除 this 链接并添加有关您建议实施的详细信息。
【解决方案2】:

您似乎是在询问是否直接从 UI 中针对某些 SQL 数据库触发/运行 SQL 查询。虽然这在理论上是可能的,但在实践中这是一个非常糟糕的主意。这是一个坏主意的原因是,要这样做,您必须向外部打开一个或多个数据库端口。这反过来又会将数据库暴露给 DOS(拒绝服务)和其他类型的恶意攻击。

正确的做法是将数据库置于 Web 应用程序的后端。然后,在后端公开一个或多个端点,这些端点又私下与数据库通信。最后,让您的 UI 访问后端端点以运行您想要的任何 SQL 逻辑。

【讨论】:

  • 我认为您的回答非常好且足够,但也许提出问题的人只是想构建一个简单的 Web 客户端工具来对先前加载的 csv 进行查询,并且不需要后端将在生产中的实际应用中使用
猜你喜欢
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 2013-10-25
  • 2019-08-13
  • 1970-01-01
相关资源
最近更新 更多