0

Googleの[共有]ボタンを使い始めました。私は実際に共有リンクを使用していますが、ドキュメントのある時点で次のように表示されます。

注:{URL}を共有するページのURLに置き換えてください。{URL}内で発生する可能性のあるユーザー生成コンテンツを適切にエスケープする必要があります

それはどういう意味ですか、どうすればこれを回避できますか?

4

2 に答える 2

2

何かをエスケープするとは、有害である可能性のある文字を、コンピューターが翻訳するのに害のないものに変換することを意味します。

例えば:

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";

そして、それは完全に有効です!

ディレンが提案することは、問題を解決するためのまさに正しい方法ですが、エスケープ方法を説明することも適切だと思いました.

于 2012-12-04T10:39:13.217 に答える
0

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");
于 2012-12-04T10:33:07.497 に答える