我如何让KendoUI功能,同时坚持严格的内容安全策略的脚本-src

How can I get KendoUI to function while adhering to strict Content Security Policy for script-src

本文关键字:-src 脚本 安全策略 坚持 KendoUI 功能      更新时间:2023-09-26

我有一个大型web应用程序,在尝试实现内容安全策略时遇到了一个问题。为了复制,我创建了一个非常基本的页面,如下所述。KendoUI马上就失败了。我已经缩小到这是一个CSP问题,特别是KendoUI运行良好时,启用"不安全的eval",但不是当它被禁止,当然这是一个严重的问题,所以我想知道我是否可能使用错误的构建或错过了什么?

粗略的演示问题(头部值通过meta标签插入):

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' https://cdn.kendostatic.com https://code.jquery.com;">
    <script src="https://code.jquery.com/jquery-1.11.3.min.js" type="text/javascript" ></script>
    <script src="https://cdn.kendostatic.com/2015.3.930/js/kendo.web.min.js" type="text/javascript" ></script>
</head>
<body>
    <h1>See CSP Error in console</h1>
</body>

我得到CSP错误使用这个头:

Content-Security-Policy: script-src 'self' https://cdn.kendostatic.com https://code.jquery.com;

只要我在script-src选项中添加"不安全的eval",错误就会消失,然而这似乎是不可接受的,并且可能是一个常见的问题,因为kendoui是一个如此广泛使用的框架。

通过与Telerik的进一步对话,我得到了以下回应:

Kendo UI内部使用eval()调用。这就是剑道UI模板的内部工作方式。目前我们还没有解决办法,但是我们正在探索呈现剑道UI小部件的新方法,这些方法也将符合此策略。