Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内容安全策略_Javascript_C#_Asp.net_Content Security Policy_Scriptmanager - Fatal编程技术网

Javascript 内容安全策略

Javascript 内容安全策略,javascript,c#,asp.net,content-security-policy,scriptmanager,Javascript,C#,Asp.net,Content Security Policy,Scriptmanager,我目前正在为我的项目实施CSP(内容安全策略),我已选择为所有无法从网页移开的内联脚本实施nonce。在尝试为经典aspx页面实现nonce时,很少有地方包含脚本管理器以使用ajaxcontrol工具包,并且它们在html中生成标记 由于我有了nonce实现,我需要将nonce属性添加到脚本标记中,以防止被CSP阻止。我已经研究了2天,没有找到任何建议/解决方案 编辑: 我正在使用OWIN中间件生成nonce。在母版页加载期间,meta标记将动态生成并附加到meta标记 任何帮助都将不胜感激 感

我目前正在为我的项目实施CSP(内容安全策略),我已选择为所有无法从网页移开的内联脚本实施nonce。在尝试为经典aspx页面实现nonce时,很少有地方包含脚本管理器以使用ajaxcontrol工具包,并且它们在html中生成标记

由于我有了nonce实现,我需要将nonce属性添加到脚本标记中,以防止被CSP阻止。我已经研究了2天,没有找到任何建议/解决方案

编辑:

我正在使用OWIN中间件生成nonce。在母版页加载期间,meta标记将动态生成并附加到meta标记

任何帮助都将不胜感激


感谢IIS 7及以上版本,您可以利用URL重写模块定义出站规则,允许您动态修改标记:

以下是重写图像标记的示例:


与microsoft社区讨论后发现,无法解释动态生成的脚本标记。所以到目前为止,这是不可能的。如果我找到任何解决方案,或者你们有建议或解决方法,请随时在这里发布。谢谢你的帮助

你在使用哪台web服务器?我在使用IIS..谢谢你的回答。但在我的例子中,我只需要将“nonce”属性包含到脚本标记中,以将其列入白名单,因为我正在使用带有nonce的内容安全策略来将内联脚本列入白名单。使用scriptmanager的控件生成的脚本标记不获取此属性,因为它们是动态呈现到页面的。这个url重写即使在处理动态生成的脚本标记时也有效吗?我还动态地生成nonce,它将针对每个请求进行更改。还有一种方法可以通过编程来实现吗?请分享你的想法。