Hybris CMS Cockpit - 添加Javascript

时间:2015-04-01 16:44:38

标签: content-management-system hybris

我正在使用Hybris CMS Cockpit(仅作为用户,而不是管理员),我已经构建了一个包含内容插槽的页面。

但是我试图在页面中插入一些JavaScript。我无法看到我的意思是不添加JavaScript并且我尝试了内联<script>标记,但它们只是被剥离并转向纯文本。

有人知道这是否可行,还是我必须要求系统管理员启用某些功能?

4 个答案:

答案 0 :(得分:3)

您可以添加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=

通过这样做,系统将不再剥离这些标签:)

答案 1 :(得分:1)

伤寒马蒂是正确的,但要扩展他的答案:

Hybris Cross Site Scripting(XSS)过滤器正在删除您的脚本标签。

您可能只想为用户编辑网站的扩展程序禁用它,特别是CMSCockpit,HMC和HAC:

if (!strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(myDispatchQueue)){
    printf("Booyah!\n");
}

您可以在此处的文档中找到XSS过滤器的更多配置选项: https://wiki.hybris.com/display/release5/Web+Security+XSS+Filter

答案 2 :(得分:0)

@Typhoid Marty和@kabadisha建议的答案将解决此问题。在此处添加另一个解决方法。即使xss过滤器配置为xss.filter.enabled=true,也可以将脚本添加到组件的内容中。 这可以通过为组件创建一个impex并通过hac作为脚本将其“启用代码执行”检查为true导入来实现。

答案 3 :(得分:-1)

以下是一个例子:

<script type="text/javascript">
function myFunction()
{
document.body.style.backgroundColor="lavender";
<!-- document.write(Date()); -->
alert(document.getElementById("hai"));
}
</script>

事实上,Hybris驾驶舱使用ZK框架,观点是&#34; .zul&#34;文件。