【问题标题】:Allow to open website on webview only只允许在 webview 上打开网站
【发布时间】:2017-12-10 08:50:03
【问题描述】:

我想问一下网络应用的安全性。

我正在通过 Web 服务在网站上开发库存管理系统。 并使用 webview 包装为 android 应用程序。

但我的客户问网站只能在安卓应用程序中打开

我认为当网络服务器响应请求时,代理标头是可能的。 但这只是一个临时工。

那么有什么方法可以检查网站是在未经授权的浏览器中打开的应用程序吗?

我在 web 服务器上使用了 spring boot。

【问题讨论】:

    标签: android html security webview


    【解决方案1】:

    这是不可能的。一旦您公开了一个端点,您就可以随时尝试使用任何支持该协议的软件(或将对协议进行逆向工程的分析器)连接到它。

    这就是说,你可以通过混淆来使其变得困难。

    一种解决方案是使用客户提供的信息(在您的情况下是浏览器)。这通常是代理标头(正如您所提到的),但也可以是一些指纹。例如,您可以检测屏幕的大小并从那里做出一些决定。

    另一种解决方案是使用一些秘密(最好称它们为“秘密”)来显示某些特定代码正在调用的后端应用程序(或 API)。我可以想象您可以将 HTML/JS/CSS 代码捆绑在您的应用程序中,以及一个密钥,这样只有应用程序所有者才能发送可识别的流量(由 backednd 识别)。

    所有这些都或多或少难以破解,但通过某些层,您将摆脱至少一些希望通过应用程序以外的其他方式访问该网站的人群。

    【讨论】:

    • 您可以随时尝试使用 userAgent 检测。如果它不在您的可接受用户代理列表中,则重定向。但这不是一个超级有效的选择,因为精明的用户可以将他们的用户代理设置为他们想要的任何东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多