gpt4 book ai didi

Android 客户端,Http 服务器,我怎么知道客户端正在使用我的应用程序发送数据?验证

转载 作者:搜寻专家 更新时间:2023-11-01 09:10:55 25 4
gpt4 key购买 nike

我有客户端/服务器数据传递所有工作正常。文本、图像等。我的用户在他们的 Android 设备上创建博客类型的帖子,并上传到我的服务器。所有这些都是使用 HTTP Multipart 和输入/输出流完成的。我的问题是 - 我怎么知道客户端实际上是我的应用程序而不是一些脚本/其他黑客应用程序?

我想避免滥用场景。

  1. 恶意用户 A 创建了一个 PC 脚本,该脚本将适当的表单数据发送到我的服务器,并且能够向服务器发送垃圾邮件,从而创建 1000 多个恶意帖子。
  2. 恶意用户 B 创建了一个简单的 Android 应用程序,将适当的表单数据发送到我的服务器,他能够向服务器发送垃圾邮件。
  3. 恶意用户 C 注册了我的服务,拥有有效的帐户和密码,他使用 PC 脚本或 Android 应用程序向服务器发送垃圾邮件。

我的一个想法是在频繁发帖时强制服务器端等待一段时间以防止垃圾邮件......

但除此之外,我如何检查向我的服务器发送数据的人是

  • Android 设备和
  • 正在运行我的应用程序来发送表单数据,而不是另一个。

我想避免使用 SSL,因为我不想在 Verisign 和 TRUST 注册并经历所有这些..

最佳答案

如果只有您的客户端和服务器,您可以(并且应该)使用 SSL 而无需购买任何东西。您控制着服务器和客户端,因此每个人都应该只信任一个属于另一个的证书,您不需要为此目的使用 CA。

这是高级方法。创建自签名服务器 SSL 证书并部署在您的 Web 服务器上。为此,您可以使用 Android SDK 中包含的 keytool。然后创建一个自签名客户端并将其部署在您的应用程序中作为资源包含在您的应用程序中的自定义 keystore 中(keytool 也会生成它)。将服务器配置为需要客户端 SSL 身份验证并且只接受您生成的客户端证书。将客户端配置为使用该客户端证书来标识自己,并且只接受您在服务器上为该部分安装的一个服务器端证书。

对此的分步回答比此处保证的要长得多。我建议分阶段执行此操作,因为网络上有关于如何在服务器端和客户端处理 Android 中的自签名 SSL 证书的资源。我的书中也有完整的演练,Application Security for the Android Platform , 由 O'Reilly 出版。

关于Android 客户端,Http 服务器,我怎么知道客户端正在使用我的应用程序发送数据?验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8411008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com