在没有 PHP 服务器的情况下从 Arduino 直接上传到 SQL 服务器有什么安全风险?

What are the security risks for uploading directly to SQL server from Arduino without PHP server?

使用Arduino UNO和ESP-8266,Arduino直接连接上传数据有什么安全隐患?而不是将 POST 请求与数据一起发送到 PHP 网络服务器?

我知道 PHP 方法更安全,但我只是想清楚地知道那种方式不安全的数据是什么以及如何不安全。

我不认为 Web 服务器比客户端应用程序更安全。虽然你有https,但是很多数据库服务器也支持TLS来进行通信,这也是安全的。

但是您需要在数据库服务器中启用加密功能。对于 mysql,我认为默认使用 TLS 加密,所以它是安全的。

需要考虑的差异是:

  1. API

直接数据库访问:需要安装数据库访问客户端软件(api)

网络:标准网络访问,无需api安装

  1. 数据库曝光

直接数据库访问:公开数据库结构并进行身份验证。 user/password 之类的东西存储在电脑本地,有泄露的风险。

web: 只公开有限的信息

  1. 服务器端口暴露

通常数据库端口只能在局域网中访问。这意味着如果端口未打开,您将无法在 WAN 上使用直接数据库访问。

  1. 连接时间跨度

网络访问通常是无状态的。这意味着一个页面一个连接,页面加载后连接立即关闭。直接数据库访问将在整个应用程序运行期间保持数据库连接打开。

通常数据库连接数是有限的。如果客户端应用程序编写得不好,它可能会耗尽所有连接并使数据库无法访问。

  1. 版本控制

web访问:只需要在web服务器上升级即可。

数据库访问:您需要在每台客户端电脑上安装新版本。

  1. 性能

网络访问:比直接数据库访问慢。

因此,如果您的所有用户都在一个 LAN 中并且所有 pc 都是可信的,我看不出引入 Web 服务器的理由。