繁体   English   中英

逃避用户生成的内容 - 这是什么意思?

[英]Escape user-generated content - What does that mean?

我开始使用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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM