84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
アプリ内でのみ呼び出すことができ、Web 上では呼び出すことができません。
そんな事があると聞いた事があるそうです。 Spring MVC フレームワークを使用していますが、そのような関数を実装する方法がわかりません。 。
部分的に禁止されているとしか言えません。
「自分のアプリ」など、アプリ内で呼び出す前に特別なユーザーエージェントを設定してください。プログラムの起動時に、ブラウザから送信されたユーザーエージェントを確認してください。「自分のアプリ」でない場合は、エラーが報告されます。直接。
しかし、専門家に会うと、アプリとサーバー間の通信を傍受する限り、ユーザーエージェントを自由に偽造することができ、あなたが使用しているユーザーエージェントの種類を知り、ブラウザ内でフォロワーを偽造することができます。要求したのとまったく同じ文字列だけで十分です。
現在時刻を取得し、ソルトを追加して暗号化し、URL または ua を介して解析のためにサーバーに送信し、解析された時刻とサーバーの時刻を比較し、1 分を超えた時間を破棄します。このように、他人がuaを偽造したとしても、それを1分間だけ使用し、その後新しいuaを偽造することができます。
httpsクライアント認証
http インターフェースを使用する場合は、認証ロジックの層を追加することもできます または、Web 側がそれを呼び出すことができないように、非 http インターフェースを使用することもできます。
究極の解決策は、@markovがサーバー側でhttpsの双方向認証を有効にすると言ったことです。 より簡単に言うと、アプリを使用して検証コードを生成し、それを http ヘッダーとしてサーバーに渡すこともできます。サーバーは検証コードを取得し、復号化して検証します。
部分的に禁止されているとしか言えません。
「自分のアプリ」など、アプリ内で呼び出す前に特別なユーザーエージェントを設定してください。プログラムの起動時に、ブラウザから送信されたユーザーエージェントを確認してください。「自分のアプリ」でない場合は、エラーが報告されます。直接。
しかし、専門家に会うと、アプリとサーバー間の通信を傍受する限り、ユーザーエージェントを自由に偽造することができ、あなたが使用しているユーザーエージェントの種類を知り、ブラウザ内でフォロワーを偽造することができます。要求したのとまったく同じ文字列だけで十分です。
現在時刻を取得し、ソルトを追加して暗号化し、URL または ua を介して解析のためにサーバーに送信し、解析された時刻とサーバーの時刻を比較し、1 分を超えた時間を破棄します。このように、他人がuaを偽造したとしても、それを1分間だけ使用し、その後新しいuaを偽造することができます。
httpsクライアント認証
http インターフェースを使用する場合は、認証ロジックの層を追加することもできます
または、Web 側がそれを呼び出すことができないように、非 http インターフェースを使用することもできます。
究極の解決策は、@markovがサーバー側でhttpsの双方向認証を有効にすると言ったことです。
より簡単に言うと、アプリを使用して検証コードを生成し、それを http ヘッダーとしてサーバーに渡すこともできます。サーバーは検証コードを取得し、復号化して検証します。