と入力した場合、HTMLエスケープはそれを無害なテキストに変換し、実行する代わりに文字通り表示します。ページのコンテンツはHTML、スクリプトブロックはJavaScript、リンクはURLというように、常にコンテキストに基づいて出力をエスケープしてください。"}}]}

ストリング・エスケープ

JSON、HTML、XML、URL、その他のフォーマットの文字列内の特殊文字を、この多機能な文字列エスケープツールでエスケープまたはアンエスケープします。特殊文字をエンコードされた同等の文字に変換したり、デコードして戻したりすることで、さまざまなコンテキストでデータの整合性を確保できます。ウェブ開発者、API統合、データ処理タスクに最適です。

よくある質問

このツールは、JSON(引用符、改行、タブ)、HTMLエンティティ、XMLエンティティ、URLエンコーディング、JavaScript文字列エスケーピングを含む複数のエスケープ形式をサポートしており、さまざまなコンテキストに文字列を準備することができる。

引用符、バックスラッシュ、改行などの特殊文字をJSON値に含める必要がある場合、JSON用のエスケープ文字列を使用することで、有効なJSON構文を確保し、解析エラーを防ぐことができます。

はい、このツールは双方向に動作します。エンコードされた文字列をアンエスケープして元のテキストを見ることができるので、APIやデータベースからエスケープされたデータをデバッグしたり理解したりするのに便利です。

HTMLエスケーピングは、<、>、&、引用符などの文字をHTMLエンティティ(&lt;、&gt;、&amp;、&quot;)に変換してXSS攻撃や表示の問題を防ぎ、JSONエスケーピングはJSON構文を破る文字を処理する。

URLエンコーディング(percent-encoding)は、URLで安全に使用できるように特殊文字を%XX形式に変換する特定のタイプのエスケープで、JSONやHTMLのエスケープとは異なります。

適切な文字列エスケープは、ユーザー入力が実行可能コードではなくデータとして扱われるようにすることで、インジェクション攻撃(XSS、SQLインジェクション)を防ぎます。

JSONのエスケーピングは、引用符(˶")、バックスラッシュ(˶)、制御文字(˶n, ˶t, ˶r)のバックスラッシュエスケープを要求する厳格な標準(RFC 8259)に従っています。JavaScriptの文字列エスケーピングは似ていますが、より寛容であり、追加的なエスケーピングとして⾊v(垂直タブ)、⾊0(ヌル)、⾊x(16進エスケープ)が可能です。また、JSONはBMP外の文字に対してUTF-16のサロゲートペアを必要としますが、JavaScriptはⅮu{XXXXXX}表記を使用できます。APIレスポンスとデータ交換には、常にJSONエスケープを使用し、厳密な互換性を確保してください。

各言語には固有のエスケープ要件があります:Pythonはバックスラッシュ( \n, ˶t, ˶')を使い、生の文字列(r'text')をサポートし、JavaScript は同様のエスケープとテンプレート・リテラルを使い、C/C++は引用符とバックスラッシュをエスケープする必要があり、SQLはシングルクォート(')を二重にするかエスケープする必要があり、シェルスクリプトは$、`、引用符を注意深くエスケープする必要があります。脆弱性を避けるためには、手動でエスケープするのではなく、常にその言語の組み込みのエスケープ関数(Pythonのjson.dumps()、JavaScriptのJSON.stringify()、SQLのパラメータ化されたクエリなど)を使ってください。

重要なエスケープシーケンスは以下の通り:\n(改行/行送り)、♪r(キャリッジリターン)、♪t(タブ)、♪" (ダブルクォート)、♪' (シングルクォート)、♪(バックスラッシュ)、♪0(ヌル文字)、♪b(バックスペース)、♪f(フォームフィード)。Unicodeの場合:\uXXXX(4桁の16進数)と(2桁の16進数)。JSONは♪/、HTMLは♪lt;と♪gt;、XMLはHTMLと同様、正規表現は♪d、♪w、♪sを文字クラスに使用します。

XSS攻撃は、ウェブページのエスケープされていないユーザー入力を悪用して悪意のあるスクリプトを注入します。適切なエスケープは、危険な文字を安全な表現に変換します:< は &lt; に、 > は &gt; に、 & は &amp; に、 " は &quot; に、 ' は &#x27; になります。これは、ブラウザがユーザー入力をHTMLやJavaScriptのコードとして解釈するのを防ぎます。例えば、ユーザが<script>alert('XSS')</script>と入力した場合、HTMLエスケープはそれを無害なテキストに変換し、実行する代わりに文字通り表示します。ページのコンテンツはHTML、スクリプトブロックはJavaScript、リンクはURLというように、常にコンテキストに基づいて出力をエスケープしてください。