Heim  >  Fragen und Antworten  >  Hauptteil

Spring – Wie schreibe ich eine Schnittstelle in Java, die nur die App aufrufen kann?

Nur innerhalb der App aufrufbar, nicht im Web.

Ich glaube, ich habe davon gehört. Ich verwende das Spring MVC-Framework und weiß nicht, wie ich eine solche Funktion implementieren soll. .

巴扎黑巴扎黑2713 Tage vor549

Antworte allen(5)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-05-17 10:02:48

    只能说做到部分禁止。

    在app里调用之前设置一个特殊的User Agent,比如“My own app”,在程序开始检查浏览器发过来的User Agent,如果不是“My own app”,则直接报错。

    但是如果遇到高手,他们可以任意伪造User Agent,他们只要一拦截你的App和你的服务器之间的通讯,就能知道你使用了什么样的User Agent,然后在浏览器里伪造一个跟你要求的一模一样的字符串就行了。

    Antwort
    0
  • 某草草

    某草草2017-05-17 10:02:48

    获取当前时间然后加盐加密,通过url或者ua发送到服务器解析,解析出来与服务器时间对比,超过1分钟的都扔掉。这样别人就算伪造了ua,也只能用1分钟,然后再去伪造新的ua。

    Antwort
    0
  • 黄舟

    黄舟2017-05-17 10:02:48

    https客户端认证

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-17 10:02:48

    如果使用http接口的话,不妨加一层认证逻辑;
    或者使用非http接口,这样web端就无法调用了

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-17 10:02:48

    终级方案就是@markov 说得开启服务端https的双向认证。
    简单点,也可以app生成校验码做为http header传给服务器,服务端拿到校验码解密后校验。

    Antwort
    0
  • StornierenAntwort