0

我在 Drupal 7 中使用 Bartik 的子主题。当我在配置/站点信息中设置站点名称时,我使用了一些跨度标签。在标题中显示站点名称的情况下它可以正常工作,但是浏览器中的页面标题在显示站点名称时会显示 HTML 代码。我查看了 Drupal 文档,它说:

“注意:$title 被解释为 HTML。如果您有明文字符串,例如 $node->title,则必须使用 check_plain 转义它们或在 t()> 中使用正确的占位符,然后再将它们传递给 drupal_set_title()。如果你不这样做,用户可以对你的站点执行跨站点脚本攻击。”

这让我更加困惑,因为它说标题被解释为 HTML。有谁知道我该如何解决这个问题?谢谢

4

1 回答 1

0

对于诸如页面标题之类的关键内容使用 HTML 格式的字符串对于任何 CMS 在任何方面都是一个坏主意:安全性、索引/SEO、数据库完整性、内容完整性以及内容和表示的分离。Drupal 在清理它的字符串时很谨慎,所以你已经把以前的脑袋烧坏了。

这纯粹是一个演示问题,只需使用 jquery 或类似工具来为您的用户实现相同的效果。顺便说一句,这将使您可以更灵活地以您或您的客户尚未指定的方式将此内容重新用于其他地方。

于 2013-04-11T11:49:14.917 回答