我正在使用Hybris CMS主控室(仅以用户身份,而不是以管理员身份工作,并且已经建立了带有内容位置的页面。
但是我试图在页面中插入一些JavaScript。我看不到我不是要添加JavaScript的地方,我尝试了内嵌<script>
标签,但它们只是被剥离并变成了纯文本。
有人知道这是否可行,或者我必须请系统管理员启用某些功能吗?
您可以添加javascript,但是您必须让开发人员对要在其中添加javascript的环境的配置文件(local.properties)进行一些替代。
设置为:
xss.filter.rule.script_fragments=
xss.filter.rule.lonely_script_tags=
xss.filter.rule.lonely_script_tags2=
xss.filter.rule.javascript=
通过这样做,系统将不再剥离那些标签:)
伤寒马蒂是正确的,但是请扩大他的答案:
[Hybris跨站点脚本(XSS)过滤器正在剥离脚本标签。
您可能只想对用户将在其中编辑站点的扩展名(特别是CMSCockpit,HMC和HAC :)禁用它,就可以了。>
hac.xss.filter.enabled=false hmc.xss.filter.enabled=false cmscockpit.xss.filter.enabled=false
您可以在以下文档中找到XSS过滤器的更多配置选项:https://wiki.hybris.com/display/release5/Web+Security+XSS+Filter
@ Typhoid Marty和@kabadisha建议的答案将解决此问题。在此处添加另一个解决方法。即使xss过滤器配置为xss.filter.enabled=true
,也可以将脚本添加到组件的内容中。这可以通过为组件创建一个impex并通过hac作为脚本将其“启用代码执行”检查为true导入来实现。
这里是一个例子: