HTTP认证,以及如何的类型来设计一个安全的数据库? [关闭](Types of HTTP au

2019-08-07 13:56发布

几个月前,我曾在那允许用户建立一些类型的事件,并张贴他们为XML / JSON文件到web服务器的iOS(iPhone)的应用程序。 然后通过他们的设备,他们能够从不同的用户等事件

建立整个事情的想法是很基本的。 当应用程序首次启动时,应用程序连接到一个URL,并要求输入用户ID(这是为每个用户唯一的)。 然后,每个用户想要的东西后,我们使用HTTP基本身份验证和发送的报头中的用户ID和包含的所有有关创建事件的信息的XML文件。 我从来没有工作在服务器端,所以我不知道整个系统的安全性如何了。

前几天,我开始对我的一个应用,这是同样的想法工作,所以我第一次开始在服务器端(PHP)工作。 之前,我开始我想看看我的以前的项目是如何安全的是,我很震惊,没有任何形式的安全性。 只需通过一个简单的Web调试(嗅探器),我能看到我的应用程序连接到要求用户ID,是如何发送到数据库和服务器如何回答每个XML文件的形式。

因此,如果有人只是想洪水一百万用户ID或一百万事件的数据库,这将是非常容易地创建一个PHP脚本来做到这一点。 在这种情况下,我们使用HTTP基本验证。

我现在的问题是,我该用什么样的身份验证,所以这是不可见的服务器和用户(XML)之间的交换方式是什么样的文件,我怎么能设计注册机制,使别人不能创造一百万IDS用一个简单的脚本。

我不希望建立一个超级安全的应用程序,而是一个至少有一些基本类型的安全。 因为我很新的PHP,你可以给我一些链接来检查什么样的安全机制,我应该使用,甚至更好一些教程。 此外,如果你开发,你使用什么样的安全的,什么会建议之前,这样的事情?

Answer 1:

只需通过一个简单的Web调试(嗅探器),我能看到我的应用程序连接到要求用户ID,是如何发送到数据库和服务器如何回答每个XML文件的形式。

使用SSL,以防止人在这方面的中间人攻击。

因此,如果有人只是想洪水一百万用户ID或一百万事件的数据库,这将是非常容易地创建一个PHP脚本来做到这一点。

这是网络通信的本质。 使用启发式来限制不必要的数据量。 一些例子:

  1. 单个USER_ID可以创建每秒最多一个事件。
  2. 让客户签署为user_id请求和验证服务器上的签名。

这些都不是万无一失的方法,以防止滥用,但也没有绝对安全。 该建议的方法将保留了大部分的脚本小子,虽然。



Answer 2:

“我该用什么样的身份验证,所以这是不可见的服务器和用户(XML)之间的交换方式是什么样的文件”

唯一的“真正的”答案是安装一个SSL证书,然后使用HTTPS协议



文章来源: Types of HTTP authentication and how to design a secure database? [closed]