1

我正在开发一个 iOS 应用程序,用户可以从中在服务器中发布各种事件并查看所有用户创建的事件。我的问题不具有编程性质。我想在这里展示我将如何设计我的服务器数据库并告诉我您对此的看法以及如何改进它。

该应用程序有一个非常简单的界面,当用户想要发布活动时,只需写一个标题、一些评论并在需要时附上一张照片。然后这些信息通过 XML 发送到我的服务器并存储到数据库中。

问题是因为有些人不成熟,他们会尝试发布不恰当的文字甚至照片。所以我想对我的用户进行一些控制。我在想的是,当应用程序第一次在手机上运行并连接到服务器时,服务器会将用户 ID 发送回手机。然后每次用户发送一个 xml 文件时,他都会将他的用户 ID 与 xml 一起附加(以编程方式附加)。此外,我会保留另一个数据库,其中包含随时间创建的所有用户 ID。因此,如果我注意到一个不适当的事件,我可以从我的数据库中删除用户 ID,并且下次用户尝试发送某些内容时,服务器会知道该 ID 不在数据库中,因此不允许发布。

这是防止不成熟行为的一种更简单的方法,还是听起来不错?

4

3 回答 3

1

当然你描述的是可能的。但是它有一个大问题:机器人(脚本)可以轻松使用该界面。因此,如果有人真的想滥用你的服务,他可以在一秒钟内用他喜欢的任何东西淹没你。或者他可以一次又一次地尝试,直到你不得不放弃从服务中删除他的帖子。

我建议您改为查看现有框架之一。这样您就不必重新发明轮子(这已经完成了 19562394792 次,而且还在继续),也不必从错误中吸取教训(您肯定会犯)。

于 2013-01-18T00:33:03.800 回答
1

这是关于图像的唯一可行解决方案,因为您无法轻松地对图像执行任何识别来确定它是否合适。他们发布的评论将更容易被扫描以查找不适当的项目。

如果您愿意进行这种节制,那么您的解决方案听起来是正确的。正如您提到的,与任何开放系统一样,您无法真正阻止人们创建新帐户。您可以记录和禁止 IP 地址,但这不再是一个很好的解决方案,因为大多数 IP 地址实际上可以是共享网关地址,并且这些地址在用户之间经常轮换。

创建一个标识。注意行为。禁止身份证。并鼓励社区参与通过某种标志按钮提醒您不良帖子。

于 2013-01-18T00:33:28.637 回答
1

There are many ways to design a database and not just for use with an iOS app. However when I'm building a mobile app (iOS, Android or any other) I want to make sure that the amount of data being sent and received is as small as possible; this is why I use JSON instead of XML... smaller footprint.

Because I use JSON I like to use an object database like MongoDB (my favorite) or CouchDB, because I 1) don't need to worry about the structure of my data and 2) the database stores the objects in JSON format.

I then use Node.JS for my application server so now I have JSON database -> JSON objects in my server application code -> outputting JSON... seamless with no Mappers or serialisation required. FTW.

于 2013-01-18T00:34:57.697 回答