目次
使用例:
メインインターフェース
バックエンドが Web フロントエンド ページにトークンを挿入する方法をカスタマイズします。
ホームページ ウェブフロントエンド htmlチュートリアル 悪意のある盗難やクローリングを回避するために、ネイキッド インターフェイスに保護層を追加します_html/css_WEB-ITnose

悪意のある盗難やクローリングを回避するために、ネイキッド インターフェイスに保護層を追加します_html/css_WEB-ITnose

Jun 21, 2016 am 08:46 AM

WEB アプリケーションはオープンであり、バックエンドと対話するためのインターフェイスが特別に処理されていない場合 (暗号化/トークン)、公開されます。 APIアドレスさえ分かれば簡単にアプリケーションデータを取得できます。このようにして、アプリケーション データが簡単にクロールされたり、典型的なテキスト メッセージが悪意を持って盗まれたりする可能性があります。

同社の金融商品の SMS インターフェースは、携帯電話番号が必要な限り、自由に盗むことができます。 IP アドレスですが、それでも十分ではありません。その後、一定期間内に一定数のリクエストがあったトークンが追加されました。その後の観察では、基本的にスワイプされた形跡がないことがわかり、新しいメカニズムが依然として大きな役割を果たしていることがわかりました。もちろん、このメカニズムはテキスト メッセージの盗難を防ぐために使用されるだけでなく、裸のインターフェイスを保護するためにも使用できます。

Web ページがリクエストされると、バックエンドは特定のアルゴリズムに従ってトークンをページに挿入し、フロントエンドは対応するルールを通じてトークンを取得し、それを持ち込むことができます。インターフェイス データを要求すると、トークンはバックエンドで検証され、検証に合格した場合は通常どおりデータを要求できます。ネイティブ アプリの場合、暗号化されたメソッドを介してインターフェイスをリクエストしてトークンを取得できます。最も簡単かつ直接的な方法は、ネイティブ アプリ クライアントが文字列とタイムスタンプ (バックエンドから取得) を使用して暗号化し、リクエストを行うことです。バックエンド インターフェイス。データが復号化され、タイムスタンプが比較され、一定期間内で有効であると見なされます (暗号化された情報の傍受を避けるため、タイムスタンプの検証が追加されます)。それにより、トークンが取得されます。

もちろん、Web アプリケーションは公開されており、理論的にはすべてのソース コードが利用可能です。そのため、バックエンドがトークンを Web ページに挿入する方法もクラックされる可能性があります。そのため、バックエンドがトークンをリクエストに挿入したり、クラックの難易度を高めるために一連のアルゴリズムを独自に実装したりするなど、バックエンドがトークンを挿入する方法をカスタマイズできます。 。

複数のプロジェクトでの再利用を容易にするために、このメカニズムを独立した npm パッケージ access-token-api に編成します。

使用例:

npm install access-token-api//server(nodejs)  端var accessTokenApi = require('access-token-api');var TokenApi = new accessTokenApi({    webTokenVarName:'encrypt_api_tokenStr',//前端可通过webTokenVarName变量去到token值,默认encrypt_api_tokenStr});//web前端取token值window[webTokenVarName] //请求接口时带上这个值就能进行token校验了
ログイン後にコピー

メインインターフェース

トークン生成 api 発行検証トークン api verifytoken 有効回数が 1 つ減ります API ディクサーバーがトークンをWeb フロントエンド ページ API webInject

バックエンドが Web フロントエンド ページにトークンを挿入する方法をカスタマイズします。

var TokenApi = new accessTokenApi({    webInject:function(html,token,callback){    var htmlEndIndex = html.indexOf('</html>');      var tokenScript = '<script>window.' + this.config.webTokenVarName + '=' + token + '</script>';      var prevHtml = html.substring(0,htmlEndIndex);      var nextHtml = html.substr(htmlEndIndex);       prevHtml += tokenScript;      prevHtml += nextHtml;      callback(null,prevHtml);    }});
ログイン後にコピー
プロジェクトアドレス https://github.com/navyxie /access-token-api には、Express フレームワークと Sails フレームワークの使用例が含まれており、他の人にインスピレーションを与えます。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

See all articles