0

私たちは iOS フレームワークを開発し、他の開発者に配布して彼らのアプリで使用したり、私たちが提供するいくつかのサービスを利用したりしました。それはうまく機能します(インビトロ)。しかし、iOS でのURL Loading Systemの仕組みにより、数行のコードですべての URL がすべての開発者の肉眼で見えるようになります。

あいまいさによるセキュリティが決して良い考えではないことはわかっていますが (HTTPS はクライアントの外部では常に透過的であるという一般的な誤解に影を落としています)、何らかの方法で URL を実装開発者から見えないようにする必要があります。

これまでのところ、私たちのフレームワークに簡単な代替案を実装することを検討しましたNSURLConnectionが、HTTPS 要件とすべてを考慮すると、困難な作業のように思えます。

NSURLProtocolそれ以上のクラスやその他のオプションを登録できないようにする方法はありますか?

NSURLProtocolセキュリティをどのように台無しにするかについてのサンプルコードを次に示します。

 class NetSniffer : NSURLProtocol {

  override class func canInitWithRequest(request: NSURLRequest) -> Bool {
    print("\(request.URL?.absoluteURL)")
    return false
  }


}

そしてあなたのapplication(_, didFinishLaunchingWithOptions:)-> Bool

NSURLProtocol.registerClass(NetSniffer)

AVPlayerPS:カスタムDRMを作成するために に関連する URL 接続の結果を変更しようとしたときのことを鮮明に覚えていますNSURLProtocol。手がかりになるかも!?

4

2 に答える 2

1

をブロックNSURLProtocol.registerClassすると、多くの有用なコードが壊れます。

URL を隠そうとしても無駄です。誰かがあなたの API をリバース エンジニアリングしたい場合、彼らはそうします。

于 2016-01-11T13:27:27.087 に答える