我是否需要一种加密方式来连接Xamarin中的外部数据库

时间:2017-12-13 17:59:46

标签: c# mysql database xamarin

我目前正在使用Xamarin在跨平台应用中工作。 用户可以登录并注册,为此,我需要连接到托管在000webhost中的外部数据库。

我使用此代码连接到我的数据库并创建一个帐户。

HttpClient http = new HttpClient();
string ss = "https://testdatabase.000webhost.com/database.php";
var formContent = new FormUrlEncodedContent(new[]{
                      new KeyValuePair<string,string>("Name", name.Text),
                      new KeyValuePair<string,string>("Email",email.Text),
                      new KeyValuePair<string,string>("Mobile",mobile.Text),
                      new KeyValuePair<string,string>("Password",pass.Text)
});
HttpResponseMessage response = await http.PostAsync(ss, formContent);
var responsedone = await response.Content.ReadAsStringAsync();

所以这就是我的问题所在......这是一种安全的方式来连接我的数据库。如果没有,我该怎么做或改变?

提前致谢!

1 个答案:

答案 0 :(得分:0)

如何对该服务器的HTTP请求进行身份验证(除了您向服务器发出请求之外,还有其他人)吗?你信任000webhost与你的用户&#39;密码?您的用户使用他们的密码信任000webhost吗?密码是否在存储到数据库之前进行了哈希处理? SSL / TLS的使用仅提供第三方窥探网络流量的安全性,但不会自动使一切安全可靠。

对我而言,您的解决方案看起来不安全并且在寻找麻烦。您应该研究如何正确验证用户身份。以下是OWASP提供的一些指南https://www.owasp.org/index.php/Authentication_Cheat_Sheet

可能会查看OAuth或OpenId来验证您的用户,而不是手动滚动您自己的身份验证。