Home > Blockchain >  Trying to implement DNTCaptcha for .NET Core 6
Trying to implement DNTCaptcha for .NET Core 6

Time:03-20

So I know how to implement this in previous versions of .NET Core. But I am having trouble doing it for .NET Core 6.

In .Net 3.1 or 5, from the enter image description here

I tried looking at other sources and documentation but they all make use of the Startup class. So how can I implement this in .NET Core 6?

CodePudding user response:

Do it this way:

  IWebHostEnvironment _env = builder.Environment;

  builder.services.AddDNTCaptcha(options =>
        {
            // options.UseSessionStorageProvider() // -> It doesn't rely on the server or client's times. Also it's the safest one.
            // options.UseMemoryCacheStorageProvider() // -> It relies on the server's times. It's safer than the CookieStorageProvider.
            options.UseCookieStorageProvider(SameSiteMode.Strict /* If you are using CORS, set it to `None` */) // -> It relies on the server and client's times. It's ideal for scalability, because it doesn't save anything in the server's memory.
                                                                                                                // .UseDistributedCacheStorageProvider() // --> It's ideal for scalability using `services.AddStackExchangeRedisCache()` for instance.
                                                                                                                // .UseDistributedSerializationProvider()

            // Don't set this line (remove it) to use the installed system's fonts (FontName = "Tahoma").
            // Or if you want to use a custom font, make sure that font is present in the wwwroot/fonts folder and also use a good and complete font!
            .UseCustomFont(Path.Combine(_env.WebRootPath, "fonts", "IRANSans(FaNum)_Bold.ttf"))
            .AbsoluteExpiration(minutes: 7)
            .ShowThousandsSeparators(false)
            .WithNoise(pixelsDensity: 25, linesCount: 3)
            .WithEncryptionKey("This is my secure key!")
            .InputNames(// This is optional. Change it if you don't like the default names.
                new DNTCaptchaComponent
                {
                    CaptchaHiddenInputName = "DNT_CaptchaText",
                    CaptchaHiddenTokenName = "DNT_CaptchaToken",
                    CaptchaInputName = "DNT_CaptchaInputText"
                })
            .Identifier("dnt_Captcha")// This is optional. Change it if you don't like its default name.
            ;
        });
  • Related