服务器安全扩展功能的最佳实践,具体取决于移动应用程序的版本

时间:2018-08-10 12:22:03

标签: java android algorithm mobile

我有什么:

  • 一个移动应用程序,它在每次验证后检查应用程序的当前版本,并显示一个带有一些信息的特殊对话框-a new version of software is availableyou can't use the application before it willn't be updated。但是,并非所有用户都可以使用此功能。
  • 处理来自移动应用程序的任何请求(例如按条件进行服务查询)并响应客户端的服务器

我需要什么:

  • 在向应用程序添加新功能后,该功能应不适用于旧版本(例如,当前应用程序版本为1.1.1,并且仅当该应用程序具有版本1.1.2时才使用新的修改) 。修改可以多种多样。

我能做什么:

  • 强制更新具有旧版本应用程序的所有客户端,并在通过常规更新(例如每月一次)进行新修改后,强迫所有用户更新应用程序。
  • 创建表Filter,添加修改,修改和特殊参数的类型,并通过表Filter中的值修改函数。 在我看来,所有这些方式都像是肮脏的骇客。

我想知道有什么方法可以做得更好。有没有人遇到过这样的问题,并且有一个更好的解决方案的好主意?谢谢。

1 个答案:

答案 0 :(得分:0)

通常WITH latest_partitiontime AS (SELECT _PARTITIONTIME as pt FROM `{project}.{dataset}.{table}` GROUP BY _PARTITIONTIME ORDER BY _PARTITIONTIME DESC LIMIT 1) SELECT {columns} FROM `{project}.{dataset}.{table}` WHERE _PARTITIONTIME >= (SELECT pt FROM latest_partitiontime) 并不是很好的方法,但是如果您确实需要,可以将SELECT {columns} FROM `{project}.{dataset}.{table}` WHERE _PARTITIONTIME >= '2018-08-08' 标头放入所有对服务器的请求中,并在服务器上(服务器上)创建一个过滤器对使用小于您想要的应用版本的所有请求返回特定错误。然后,您可以在应用中处理此特定错误并显示force to update

您还可以版本User-Agent。假设您在screen of death端点的响应中添加了新字段。因此API可以调用/users,而v1.1.1可以与/v1/users一起使用。

通常的想法是,客户端应用程序非常轻巧,由服务器决定返回什么内容和如何返回。