Googleの[共有]ボタンを使い始めました。私は実際に共有リンクを使用していますが、ドキュメントのある時点で次のように表示されます。
注:{URL}を共有するページのURLに置き換えてください。{URL}内で発生する可能性のあるユーザー生成コンテンツを適切にエスケープする必要があります
それはどういう意味ですか、どうすればこれを回避できますか?
Googleの[共有]ボタンを使い始めました。私は実際に共有リンクを使用していますが、ドキュメントのある時点で次のように表示されます。
注:{URL}を共有するページのURLに置き換えてください。{URL}内で発生する可能性のあるユーザー生成コンテンツを適切にエスケープする必要があります
それはどういう意味ですか、どうすればこれを回避できますか?
何かをエスケープするとは、有害である可能性のある文字を、コンピューターが翻訳するのに害のないものに変換することを意味します。
例えば:
url = "<script>doSomeNastyStuff();</script>";
コンテンツの有害なストリングである可能性があります。主な理由は、プレーンな JavaScript をアプリケーションのどこかに保存しているからです。
これをエスケープするときは、基本的にこれをまったく害のないものに変えています。
例:
url = "\"\x3Cscript\x3EdoSomeNastyStuff();\x3C\x2Fscript\x3E\"";
有害なスクリプトを通常の文字に変換したので、印刷または保存するときに、有害なスクリプトがコードに挿入されることを心配する必要はありません。
文字をエスケープする他の例はこれです
var sayHello = "Hello "world", as you like to call yourself";
現在、文字列が終了し、「world」という単語が変数になり、新しい文字列が開始されるため、javascript コードでエスケープされていない場合、エラーが発生します。
これは、引用符を使用できるようにエスケープされた文字列と同じです。
var sayHello = "Hello \"world\", as you like to call yourself";
そして、それは完全に有効です!
ディレンが提案することは、問題を解決するためのまさに正しい方法ですが、エスケープ方法を説明することも適切だと思いました.
URL を URL エンコードする必要があります。これは任意のプログラミング言語で行うことができます。詳細については、http: //www.permadi.com/tutorial/urlEncoding/を参照してください。
Javascript
var url = encodeURIComponent("http://example.com");
PHP
$url = urlencode("http://example.com");
C#
var url = HttpUtility.UrlEncode("http://example.com");