首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止跨站点脚本编写

防止跨站点脚本编写
EN

Drupal用户
提问于 2016-07-14 08:36:36
回答 1查看 7.8K关注 0票数 8

安全原则之一是清理从客户端传递到服务器的字符串和变量。在普通PHP中,有一些防止XSS (跨站点脚本漏洞:

  • htmlspecialchars()
  • strip_tags()

防止XSS攻击的Drupal 8策略是什么?我如何清理客户端数据发布,以保护我的网站免受XSS攻击?

我记得Drupal 7有filter_xss()来防止XSS漏洞,但是针对XSS漏洞的Drupal 8策略是什么呢?

EN

回答 1

Drupal用户

回答已采纳

发布于 2016-07-14 08:59:54

清理输出以避免跨站点脚本(XSS)攻击,使用Twig模板,Twig主题引擎现在默认自动转义所有内容。这意味着,如果不使用过滤器,从Twig模板打印的每一个字符串(例如,{{ }}之间的任何字符串)都会自动消毒。有关在Drupal中可用的Twig过滤器请参见过滤器-修改Twig模板中的变量。为了利用Twig的自动转义(并避免安全标记转义),理想情况下,所有HTML都应该从Twig模板中输出。API函数使用t()\Drupal::translation()->formatPlural()以及@%占位符来构造安全、可翻译的字符串。有关更多详细信息,请参阅Drupal 8中的代码文本翻译API

由t()、Html::escape()、Xss::filter()或Xss::filterAdmin()处理的字符串被自动标记为安全,通过渲染器从呈现数组创建的标记字符串也是安全的。虽然它也可以对文本进行消毒,但在主题或模块中使用check_markup几乎是不正确的,除非在类似文本区域的上下文中使用相关的文本格式。

资料来源:Drupal 8:编写安全代码,Rade,Shyamala,Robert和Pere。

票数 13
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/207031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档