Php 本机客户端应用程序必须访问mysql服务器端数据库

Php 本机客户端应用程序必须访问mysql服务器端数据库,php,mysql,database,api,client-side,Php,Mysql,Database,Api,Client Side,我有一个带有mysql数据库的网站,我将创建一个必须访问该数据库的本机应用程序(可能是C#/WPF) 直接访问此数据库(并将访问信息保存在客户端应用程序中)或创建PHP API是否更安全、更高效 谢谢你,Sébastien创建了一个PHP API。如果你直接连接,人们可以直接访问你的mysql,这基本上是给他们全部的权力。你的意思是,像,公开的,不受约束的,免费的,直接的,原始的,容易嗅探的通过网络访问数据库?可能会出什么问题?如果我使用HTTPS,它怎么可能被嗅探?如果攻击者拥有包含访问凭据的

我有一个带有mysql数据库的网站,我将创建一个必须访问该数据库的本机应用程序(可能是C#/WPF)

直接访问此数据库(并将访问信息保存在客户端应用程序中)或创建PHP API是否更安全、更高效


谢谢你,Sébastien创建了一个PHP API。如果你直接连接,人们可以直接访问你的mysql,这基本上是给他们全部的权力。

你的意思是,像,公开的,不受约束的,免费的,直接的,原始的,容易嗅探的通过网络访问数据库?可能会出什么问题?如果我使用HTTPS,它怎么可能被嗅探?如果攻击者拥有包含访问凭据的二进制文件,则不需要从空中嗅探它。当然,这取决于,关于客户端应用程序是否将作为数据库用户连接,该数据库用户只能访问实现适当应用程序级身份验证和授权的存储过程。客户端应用程序仍将提供足够的权限向数据库发送垃圾邮件,并可能获取机密信息。当然,而且不可能对PHP接口发送垃圾邮件或破坏其安全性,对吗?我不是说PHP层不是一件好事,只是你可以在数据库中实现一个合适的层;DB外部的层不是安全的灵丹妙药。我的应用程序方法将拥有全部功能,但访问信息封装在代码中,所以通常没有人可以看到这些信息?我错了吗?塞巴斯蒂安:如果有人可以嗅探网络或只是反编译代码,他们可以检索数据库凭据。然后,他们可以使用MySQL客户端进行连接,提供这些凭据,然后发出他们想要的任何查询。