使用Arduino UNO和ESP-8266,直接从Arduino连接和上传数据有哪些安全风险?而不是发送一个POST请求到PHP web服务器的数据?
我知道PHP方法更安全,但我只是想清楚地知道哪些数据是不安全的。
我不认为web服务器比客户端应用程序更安全。虽然你有https,但很多数据库服务器也支持TLS进行通信,这也是安全的。
但是您需要在数据库服务器中启用加密功能。对于mysql,我认为默认使用TLS加密,所以它是安全的。
需要考虑的差异如下:
API直接访问db:需要安装db访问客户端软件(api)
web:标准的web访问,不需要安装API
- DB曝光
direct db access:公开数据库结构和认证。像用户名/密码这样的信息是本地存储在pc上的,有泄露的风险。
web:只公开有限的信息
- 服务器端口暴露
通常数据库端口只能在局域网中访问。这意味着如果端口未打开,则不能在WAN上使用直接数据库访问。
- 连接时间
web访问通常是无状态的。这意味着一个页面一个连接,一旦页面加载,连接就会关闭。直接访问数据库将使数据库连接在整个应用程序运行期间保持打开状态。
通常db连接数是有限的。如果客户端程序没有写好,它可能会耗尽所有连接,使数据库无法访问。
- 版本控制
web access:您只需要在web服务器上升级。
db access:您需要在每个客户端pc上安装新版本。
- 性能
web访问:比直接访问db慢。
所以如果你所有的用户都在一个局域网里,所有的电脑都是可信的,我不认为有理由引入一个web服务器。