我需要建立一个持续集成过程,使用Octopus Deploy将我们的应用程序部署为Azure云服务.此过程包括对Azure SQL数据库执行Entity Framework 6.1迁移的步骤(通过migrate.exe从本地Octopus触角运行).但是,需要在八达通机器上打开端口1433才能使其工作,我们的管理员不会这样做.
是否有不同的方法可以建议在自动部署过程中执行Entity Framework迁移?
我们使用以下CSP标头:
default-src 'self' *.ourdomain.com; script-src 'self' *.ourdomain.com 'sha256-[...]' 'unsafe-eval';
connect-src 'self' *.ourdomain.com;
style-src 'unsafe-inline' * 'self' data:; font-src *;
img-src * 'self' data:
Run Code Online (Sandbox Code Playgroud)
我们的安全团队的建议不是使用unsafe-eval.
我的问题是:只要我们使用sha256 - [...]来限制我们自己没有部署的任何脚本,在CSP头中仍然保持不安全eval的安全风险是什么?在什么情况下,这仍然会让我们面临跨站点攻击?
我的ASP.NET核心代码中有以下模型:
public class TestItem
{
public string Id { get; set; }
public string Name { get; set; }
public List<TestSubItem> SubItems { get; set; }
}
public class TestSubItem
{
public string Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和我的Controllers/TestController.cs中的以下方法:
// POST: Test/Create
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create([FromBody]TestItem item)
{
// Use item here...
return View(item);
}
Run Code Online (Sandbox Code Playgroud)
我的页面中有以下JavaScript:
var mySubItems = [{"Id": "1"}];
function submitForm() {
// myForm contains an Id textbox and a Name textbox
$("#myForm").submit();
};
function doPost() …Run Code Online (Sandbox Code Playgroud)