我开始使用 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";
现在,这个在 javascript 代码中未转义会产生错误,因为字符串已经终止并且单词 'world' 现在是一个变量,然后一个新的字符串开始。
这是相同的字符串转义以允许引号。
var sayHello = "Hello \"world\", as you like to call yourself";
这是完全有效的!
Dillen 的建议正是您解决问题的正确方法,但我认为解释转义方法也是合适的。
您必须对您的 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");