我正在编写需要登录的 ac# windows 应用程序,我打算使用我的网络服务器中的 sql 选择来简单地检查,但是如果你手动输入我不能的 IP 地址,我的虚拟主机似乎只允许远程 sql 访问为应用程序的每个用户做。
所以我的问题是,最好的解决方案是什么?我考虑过尝试对我网站上的页面进行 httprequest,然后可以检查使用 PHP 传递给它的登录详细信息并传回结果,但它需要是安全的,这看起来有点难以实现(我对 c# 相当陌生)。
正如我在上面的评论中所说,仅出于安全原因,您永远不会希望使用该应用程序的任何用户访问您的 sql 服务器。我的建议是让客户端通过 SSL (https://) 连接到将检查使用 LINQ to SQL 提供的凭据的 ASP.NET 页面或 Web 服务。然后它可以向客户端发送通过/失败响应。
哦,为了上帝的爱和所有神圣的事物,你的用户密码加盐和散列。
注意:如果您想使用此登录名来阻止用户在没有帐户/付款的情况下使用您的应用程序,上述所有方法都可以,但不足以阻止人们对应用程序进行逆向工程和破解(例如,欺骗它认为它已收到传递消息)。这种 DRM 完全是另一种游戏。