0

不知道如何更好地表达标题。

我们有一个 iOS 游戏,它通过 PHP 与我们 VPS 上的 MySQL 数据库连接。现在我们对服务器端的事情知之甚少,所以我们一切正常,游戏发布了,人们可以更新他们的分数等等。

问题是我们能够让它全部工作的唯一方法是将我们的游戏目录放入我们的 public_html 目录。这意味着,如果有人在浏览器中键入 www.ourwebsitename/gamefoldername,他们将获得该文件夹的索引。如果您单击其中的一个文件夹,它实际上会返回一个包含我们数据库中所有数据的表,这显然是不安全的。

有没有办法使这个目录成为私有目录,如果是这样,当它尝试连接到服务器时,这将如何影响我们的应用程序?

4

3 回答 3

3

有很多方法可以防止这种情况:

有些在下面。

1) 在这个和每个文件夹 www.ourwebsitename/gamefoldername 中放置一个 index.php,这个文件应该将提供这个 url 的用户重定向到主/登录页面。这很简单,但不是一个好方法。

2)使用。ht 访问文件http://www.htaccess-guide.com/redirects/。请从这里获取详细信息。

于 2012-12-21T12:43:10.747 回答
1

如果您的应用程序通过正常的 http 请求访问服务器,这意味着任何人都可以通过浏览器执行相同的操作。

您需要确保所有页面都位于登录系统之后,以便只有经过身份验证的用户有权执行他们也可以从应用程序本身执行的操作。

如果您对服务器端不太了解,这似乎是最简单的方法。

于 2012-12-21T12:41:14.460 回答
1

将文件夹设为私有需要您的应用提供身份验证才能访问这些页面。许多 Web 服务器为文件夹提供内置的隐私选项(使用.htaccess文件隐藏文件夹内容是一个开始)。您想为保护这些数据付出多少努力仅受时间和您作为开发人员的技能的限制。

如果您持有的数据没有那么有价值,那么没有什么能阻止您在为数据库提供服务的 PHP 文件顶部放置一个简单的条件if( $_POST["auth"] != XXXXX )(或者您可以使用),然后在您的应用程序上修改您的 HTTP 请求以提供GET提出请求时说的关键。

于 2012-12-21T12:45:14.223 回答