c# - 在C#中实现 "cloud saving"

标签 c# php security ftp

我一直在开发一款游戏,我想用它进行某种“云保存”。我的问题是安全上传保存文件,这样我们就不会暴露我们的网站或 FTP 服务器。现在,我使用 FTP 的帐户受到严格限制,该帐户可以访问/saves,但它也可以访问每个用户的保存目录。通过一些巧妙的设计解决了保存数据的恶意破坏,这不是我担心的。我担心有人会获取我用来登录的 FTP 帐户(不会太难,因为它必须存储在代码中)并使用它来建立多个连接并上传大量文件。我不想对帐户设置上传限制,因为我的所有用户都必须使用同一帐户进行上传,而且我不希望合法用户遇到问题。然而,这仍然存在一个问题。用户拥有用于启动游戏的 WordPress 用户名和密码,启动器通过 WordPress 验证权限。理想情况下,当人们购买游戏时,我想为他们创建一个目录,以及用户名和密码以及大约 10MB/天的上传限制,但我怀疑我们的托管服务是否提供此功能,因此我正在寻找替代方法。

tl;dr 如何将游戏用户限制在具有上传限制的特定目录中,并且可能不使用 FTP?我之前曾尝试使用 PHP 进行上传,但当远程 PHP 脚本尝试访问用户计算机上没有任何 FORM 元素的文件时,通常会遭到拒绝。我想如果我可以从客户端启动某种上传,它可能会起作用......不过,我仍然必须找到一种方法来防止恶意上传。 有什么想法吗?这是我真正想做的事情,为了做到这一点,我需要确保它免受攻击。 谢谢!

最佳答案

这不正是 Web 服务创建来解决的问题吗?您可以创建一个 Web 服务,将其与您的用户数据库集成,这样您的游戏就会调用该服务,通过 Wordpress 的身份验证 token 上传和下载数据。它不会阻止任何人对您的网络服务进行 DDOS,但至少不会有密码泄露的风险。请注意,根据此article ,上传数据有 4MB 的硬性限制。当然,您可以简单地在发送文件之前拆分文件并在服务器上处理加入。

关于c# - 在C#中实现 "cloud saving",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942273/

相关文章:

c# - 只有在等待返回的任务后才最终执行吗?

php - 简单搜索页面 PHP MySQL 全文搜索

php - 本地主机中的 SQL 语法错误

security - OAuth 2.0 隐式授权流程 - clientId 和 accessToken 暴露安全

c# - 限制 .net 插件可以访问的内容

ios - 未知的音频驱动程序错误

c# - 处理 Vector3 时的正确语法是什么?

C#正则表达式匹配字符串

c# - 显示调用 SaveChanges() 时由 Entity Framework Core for PostgreSQL 生成的数据库查询

php - 如何显示转义字符?