【问题标题】:Render html content in user defined messages在用户定义的消息中呈现 html 内容
【发布时间】:2018-10-23 09:34:18
【问题描述】:

我有一个网页,用户将在其中输入他的详细信息,然后单击提交,我通过 ajax 调用调用服务以将其保存在数据库中。然后我从使用 java REST webservices 编写的服务中捕获响应并将其显示在网页中。我正在显示消息“已成功保存详细信息”。此消息是从我的 java 服务层中的属性文件中读取的,并传递回网页。我目前需要将字体颜色更改为返回的文本。

我尝试将以下<font color="red">Details saved successfully</font> 添加到我的文件数据中,并且从服务层传递了相同的文本。在网页中,我看到没有为文本呈现字体颜色,并且上面带有 html 标签的整个文本都显示在网页中。我在js页面和html页面中使用$scope.status=response string,我渲染为<div id="test">{{status}}</div>

当我们将 html 标签作为字符串从服务层的属性传递到 js 页面时,有什么方法可以渲染它。我的目标不是更改现有的 html 代码,而是在从属性文件读取并作为字符串从服务传递时呈现 html 标记。

谢谢。

【问题讨论】:

  • 你可以拦截响应并制作你自己的html并添加css

标签: javascript html angularjs ajax


【解决方案1】:

让用户提交包含在显示时呈现的 HTML 的数据可能存在安全风险。用户在他们“注入”到您的应用程序中的 HTML 代码中可能非常有创意。您可以在许多网站上找到有关该漏洞的更多信息。

当您需要添加一些标记时,您可能会考虑替代标记呈现方法,例如 BBCode 或 MarkDown。

【讨论】:

  • 感谢您的回复。我将看看 BBCode 和 Markdown 以永久完成更改。有没有办法在不改变当前代码库作为权宜之计的情况下实现这一目标?
猜你喜欢
  • 1970-01-01
  • 2019-05-15
  • 2013-11-29
  • 2019-11-07
  • 2020-07-26
  • 2013-09-08
  • 2014-06-24
  • 2010-11-13
  • 1970-01-01
相关资源
最近更新 更多