小编Mic*_*cki的帖子

在比较Python中的数值时进行隐式转换

在处理一个问题时,我偶然发现了一些我自己无法解决的问题.

我有一个变量: a = pow(2, 1024)

它的类型是long int.如果我尝试将它明确地转换为浮动,就像float(a)我收到的那样OverflowError.这个数字太大了,不适合64位浮点数,所以这是可以理解的.

然后我尝试使用隐式转换,通过浮点数将其拖放:

b = a * 11.0

再次,OverflowError发生时,这是很好的,因为根据python文档,从长整型的隐式转换到浮动发生.结果就像以前一样.

最后,我尝试比较:

a > 11.0 回报True.将OverflowError不会发生.这让我很困惑.如果不需要数字以相同的格式,Python比较机制如何工作?按照这个,

Python完全支持混合算术:当二进制算术运算符具有不同数值类型的操作数时,具有"较窄"类型的操作数被扩展为另一个的操作数,其中普通整数比长整数窄,比浮点更窄,比浮点更窄.复杂.混合类型数量之间的比较使用相同的规则.构造函数int(),long(),float()和complex()可用于生成特定类型的数字.

我的问题是,为什么a不在前面提到的比较中被抛弃?

我使用的Python版本是2.7.15.谢谢你提前

python

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

按租户架构应用 EF Core 迁移

我正在使用 .NET Core 3.1 和 EntityFramework Core 3.1.3。我正在尝试使用 DB 模式实现租户数据分离。我读了这个。我知道它有点过时了,所以我已经调整了。

我已经创建了一个 DbContext 的实现:

public class AppDataContext : DbContext
{
    private readonly ITenantProvider _tenantProvider;

    public AppDataContext(DbContextOptions<AppDataContext> options, ITenantProvider tenantProvider) : base(options)
    {
        _tenantProvider = tenantProvider;
    }

    public DbSet<Book> Books { get; set; }
    public DbSet<Comics> Comics { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        // Tenant schema mapping
        var tenant = _tenantProvider.GetTenantString();
        modelBuilder.HasDefaultSchema(tenant);
    }

    public static void ApplyMigrations(string connectionString, string tenant)
    {
        var optionsBuilder = new DbContextOptionsBuilder<AppDataContext>(); …
Run Code Online (Sandbox Code Playgroud)

c# sql-server entity-framework-core .net-core entity-framework-migrations

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

为什么 ModSecurity OWASP 规则会阻止 .axd 文件?

我一直在研究 ASP.NET 应用程序中的 WAF 结果。WAF 是带有 OWASP CRS 的 ModSecurity。其中一项调查结果是:

URL 文件扩展名受到策略规则 ID 920440 的限制,
并且它在文件 WebResource.axd 和 ScriptResource.axd 上触发。

我做了一些研究。我发现这些文件是 HTTP 处理程序,并且嵌入在程序集中。我发现了上述规则 - 这是一个简单的规则,它只是检查文件扩展名并据此阻止请求。.axd 恰好是列出的文件扩展名之一。

据我了解,这些文件可能与使用 AJAX 相关(我在这一点上可能是错的)。然而,我没有在互联网上找到任何原因/解释为什么这些被 OWASP 列入黑名单。唯一可能提供线索的信息就是这个问题

为什么 .axd 文件被列入黑名单?它们已被弃用吗?这些是否可以列为规则的例外,或者可能会带来一些实际风险?最后,如何修改 ASP.NET 应用程序使其不需要这些文件?

asp.net mod-security

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