Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 对于SafeHtml,我们是否需要对;链接“;在<;img src=链路>;标签,GWT?_Image_Gwt_Tags_Sanitize - Fatal编程技术网

Image 对于SafeHtml,我们是否需要对;链接“;在<;img src=链路>;标签,GWT?

Image 对于SafeHtml,我们是否需要对;链接“;在<;img src=链路>;标签,GWT?,image,gwt,tags,sanitize,Image,Gwt,Tags,Sanitize,我有一个文本框,允许用户放置图像链接(例如:)&另一个文本框,允许用户放置备用文本(例如:“This is test.gif”),&一个提交按钮 当用户单击submit buton时,程序将生成此字符串并将其存储到DB中供以后使用 我的问题是:我是否需要清理imagelink”http://abc.test.gif“&alt标记中的文本“这是test.gif” 例如,我是否需要使用UriUtils.isSafeUri(“http://abc.test.gif");&safehtmlitls.fr

我有一个文本框,允许用户放置图像链接(例如:)&另一个文本框,允许用户放置备用文本(例如:“This is test.gif”),&一个提交按钮

当用户单击submit buton时,程序将生成
此字符串并将其存储到DB中供以后使用

我的问题是:我是否需要清理imagelink
”http://abc.test.gif“
&alt标记中的文本
“这是test.gif”


例如,我是否需要使用
UriUtils.isSafeUri(“http://abc.test.gif");&
safehtmlitls.fromString(“这是test.gif”

您故意允许用户输入任何他想要的内容,这些内容将进入
src
img
标记的
alt
属性。这确实会受到任何类型的XSS攻击。请查看一些在最近的浏览器中仍然有效的示例

此外,您正在将该字符串存储在数据库中以供以后使用(猜测),因此攻击可能会在稍后发生,此时您将使用该字符串在DOM中创建节点,从而导致更不可预测的结果

一种解决方案是只在数据库中存储URL和可选字符串(如果有适当的输入验证),并在需要时使用以下简单模板(或通过编程使用
SafeHtmlBuilder
)生成safe
img
代码片段

这样你就:

  • 验证用户输入
  • 仅存储已验证的值(按原样)
  • 只有在真正需要时,才能以安全的方式生成img代码段

谢谢你,安德里亚,很少有人能回答这个问题。
public interface Template extends SafeHtmlTemplates {
  @Template("<img src=\"{0}\" alt=\"{1}\"/>")
  SafeHtml img(SafeUri uri, SafeHtml alternativeText);
}
template.img(
    UriUtils.fromString(yourValidatedDbUrl),
    SafeHtmlUtils.fromString(yourValidatedAlternativeText));