小编jta*_*loc的帖子

是否可以在Asp.net Web.config中添加多个内容安全策略指令?

我目前正在我们的Asp.net应用程序中应用安全措施,并且必须解决一些问题,如x-frame-options,但在如何添加多个内容安全策略指令方面遇到了困难.

我搜索了很多,并没有找到关于如何在web.config中添加多个CSP指令的确切解决方案,但只能通过像blog.simontimms.com这样的代码.

目前这是我的CSP:

<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-Frame-Options" value="ALLOW-FROM http://subdomain.domain.com" />
    <add name="Content-Security-Policy" value="frame-ancestors http://subdomain.domain.com" />
  </customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在Asp.net web.config中添加多个内容安全策略指令?我试过下面用半冒号分隔的配置,但它不起作用:(

<add name="Content-Security-Policy" value="frame-ancestors http://subdomain.domain.com; img-src *; " />
Run Code Online (Sandbox Code Playgroud)

更新:

我认为上面的代码是添加多个指令的正确语法.我只是错过了'self'框架 - 祖先导致运行时错误,这让我觉得起初它是错的.

附加信息:

如果你运行了一些问题,你有很多子域,你可以'*'在其上放置通配符,如:

<add name="Content-Security-Policy" value="frame-ancestors 'self' http://*.domain.com; img-src *; " />
Run Code Online (Sandbox Code Playgroud)

asp.net security content-security-policy

10
推荐指数
1
解决办法
9952
查看次数

在课堂上没有直接实现的接口的实际用法是什么?

我想我在这里有一个非常天真的问题,我之前不知道甚至可能.请原谅我,如果我的标题问题有点模糊,因为我甚至不知道如何描述它.这段代码对我来说很奇怪.

public interface IMyInterface
{
    void ImplementMe();
}

public class StandAlone
{
    public void ImplementMe()
    {
        Console.writeline("It works!");
    }
}

public class SubClass : StandAlone, IMyInterface
{
    // no need to implement IMyInterface here but it still work!!!
}

IMyInterface myInterface = new SubClass();
myInterface.ImplementMe();   // Output : "It works!"
Run Code Online (Sandbox Code Playgroud)

我只想知道以下内容:

  • 描述这种方法的正确术语是什么?
  • 这种方法的实际好处是什么?
  • 它试图解决什么样的问题?或者什么情况适用?

c# oop

4
推荐指数
1
解决办法
186
查看次数

除了AutoMapper中的ForMember方法之外,还有其他自定义映射方法吗?

我有复杂的模型(SyncBillToPartyMaster),我想自定义映射到我的简单POCO类.

Mapper.CreateMap<SyncBillToPartyMaster, CustomerAddress>()
.ForMember(d => d.CustomerId, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.CustomerParty.PartyIDs.ID.Value))
.ForMember(d => d.CustomerAddressId, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.PartyIDs.ID.Value))
.ForMember(d => d.City, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.CityName))
.ForMember(d => d.State, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.CountrySubDivisionCode.Value))
.ForMember(d => d.Country, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.CountryCode.Value))
.ForMember(d => d.Zip, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.PostalCode.Value))
.ForMember(d => d.Address1, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.AddressLine[0].Value))
.ForMember(d => d.Address2, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.AddressLine[1].Value))
.ForMember(d => d.Address3, o => o.MapFrom(src => src.DataArea.BillToPartyMaster.Location.Address.AddressLine[2].Value))
.ForMember(d => d.Phone1, o => …
Run Code Online (Sandbox Code Playgroud)

c# automapper

1
推荐指数
1
解决办法
1047
查看次数

将 yyyyyMMddHHmmssffff 字符串转换为 DateTime.Parse 可接受值的优雅方法?

我有“202006260718083370”作为输入值,我需要将其转换成解析-able为DateTime.Parse字符串。除了下面的方法,你还能想到什么优雅的方法?

方法 1 - 在中间单独插入字符串。

var input = "202006260718083370".Insert(5, "-")
                                .Insert(8, "-")
                                .Insert(11, " ")
                                .Insert(14, ":")
                                .Insert(17, ":")
                                .Insert(20, ".");

var dateTime  = DateTime.Parse("2020-06-26 07:18:08.3370") // What input looks like
Run Code Online (Sandbox Code Playgroud)

方法 2 - 单独传入 new DateTime(....)

var year = "202006260718083370".Substring(0, 4);
var month = "202006260718083370".Substring(4, 2);
var date = "202006260718083370".Substring(6, 2);
var hour = "202006260718083370".Substring(8, 2);
var min = "202006260718083370".Substring(10, 2);
var sec = "202006260718083370".Substring(12, 2);
var mil = "202006260718083370".Substring(14, 4);
Run Code Online (Sandbox Code Playgroud)

方法 3 - 与方法 2 几乎相同。使用字符串数组和连接。喜欢 …

c# datetime

0
推荐指数
1
解决办法
40
查看次数