我正在开发一个使用与网站相同的MySQL服务器的Android应用程序。
我想在我的应用程序中连接到数据库,之前我已经通过在服务器上放置一些PHP文件并使用HTTP帖子并以json格式检索响应来完成。我不知道为什么 - 我不是专家 - 但这对我来说似乎不是一种非常安全的方式。
使用SOAP或REST Web服务对我来说看起来更安全,但我不知道如何在服务器上部署这些服务器(服务器不是我的,我不想用它来愚弄)。
那么对我来说最安全的方式是什么?如果我使用PHP脚本,我应该将数据库凭据存储在PHP脚本或我的应用程序中并将它们传递给PHP脚本吗?这些中最安全的是什么?
由于
答案 0 :(得分:5)
您选择的“信封技术”对安全性没有影响。在安全架构术语中,普通的php页面,类似REST的架构和SOAP服务都是相同的 - 您仍然在同一个通道上发送和接收完全相同的信息。它只是以不同的方式包裹。没有给予额外的保护。
至于您的凭据,最好将它们存储在Web服务器文档之外的文件中 - 如果单独的漏洞允许您的网站文件被枚举或读取,这将限制您的曝光。您的PHP程序可以require_once
凭证文件。
如果用户可以存储特定于他们的信息,则需要使用身份验证和授权,以确保一次使用不能代表其他用户。
哦,并且不允许GET请求更改您的数据。要求所有状态更改或破坏性操作只能使用POST请求执行。这将限制预先缓存请求或重播请求以及浏览您网站的用户/搜索机器人的用户代理/代理数据损坏的风险。