✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Hur man skapar honungspott för att bekämpa skräppost i Laravel

17

När din webbplats är igång mycket snart kommer du att få skräppost från dina webbplatsformulär. Spambots skriver ett datorprogram som bara fyller i ditt formulär med falsk information. Det är en huvudvärk för webbplatsägare att städa upp denna oönskade data och skydda din databas från sådana onödiga poster. Den här artikeln är skriven för personer som byggde sin applikation med Laravel. Vi kommer att studera hur man kan skydda deras formulär från skräppost i Laravel.

Användaren kan lägga till reCAPTCHA i sitt formulär som testar om formulärvärdena fylls av människor eller inte. Men om du gör det måste dina användare lösa pusslet innan de skickar in ett formulär. Ett annat sätt är att lägga till den senaste versionen av Google reCAPTCHA. Men det visar en reCAPTCHA-ikon längst ned till höger på din webbplats.

De flesta av webbplatsägarna gillar inte captchasna. Och om du hatar captchas, håll då en honungskruka i dina former som skulle fånga spambots.

Mestadels spambots är dumma kan vi säga eftersom de bara fyller i alla dina formulärfält. De är inte medvetna om vilka formulärfält som faktiskt används för vidare process. Vi kan dra nytta av detta scenario och lägga till ett dummyinmatningsfält (honeypot) i vårt formulär. Detta dolda fält bör förbli tomt vid tidpunkten för inlämnande av formulär. Så när du kontrollerar på serversidan om detta dolda fält är tomt kommer det att vara en giltig formulärsändning och om det inte är tomt blir det skräppost. Med det sagt, låt oss ta en titt på hur man skapar smekmånad och skyddar webbplatsformulär från skräppost.

Skapa Honeypot och förhindra formulär från skräppost

Som vi sa med hjälp av ett dolt fält kan vi lura spambots och stoppa formulärsändningen på serversidan. För detta ändamål ska vi använda paketet laravel-honeypot. Med detta paket kan en användare enkelt skydda en eller flera former. De behöver inte skriva koden på serversidan för varje formulär separat.

För paketinstallation, öppna terminalen i din projektkatalog och kör kommandot:

composer require spatie/laravel-honeypot

Vid paketinstallation, publicera konfigurationsfilen för paketet med kommandot:

php artisan vendor:publish --provider="SpatieHoneypotHoneypotServiceProvider" --tag=config

Detta kommando lägger till en honeypot.phpfil under configkatalogen. Du behöver inte ändra konfigurationsfilen. I stället .envlägger du till konstanten nedan i filen.

HONEYPOT_NAME=honeypot_for_bots

Här gav vi namnet ‘honeypot_for_bots’ som blir namnet på ditt dolda fält. Du kan ställa in vilket annat namn som helst för denna konstant.

Registrera sedan den globala mellanvaran som skyddar alla dina formulär från en enda plats.

appHttpKernel.php

<?php
…
…
protected $middleware = [
   // ...
   SpatieHoneypotProtectAgainstSpam::class,
];

Klart! Gå nu till ditt formulär och lägg till honungspotten i den genom att lägga @honeypottill HTML-formuläret. Bladfilen ser ut ungefär som nedan.

<form action="" method="post">
    @honeypot
    <input type="text" name="fullname" placeholder="Full Name" />
    <input type="submit" name="submit" value="Submit" />
    {{ csrf_field() }}
</form>

Nu om spambots försöker skicka skräppost i ditt formulär kommer paketet att kasta förfrågan. Som ett resultat hamnar inget mer skräppost i din databas.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer