✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas luua Honeypot vormi Rämpspost võitlemiseks Laravelis

33

Kui teie veebisait hakkab varsti toimima, hakkate oma veebisaidi vormidelt saama rämpsposti. Spämmirobotid kirjutavad arvutiprogrammi, mis lihtsalt täidab teie vormi võltsitud teabega. Saidiomanikel on peavalu nende soovimatute andmete puhastamine ja teie andmebaasi kaitsmine selliste tarbetute kirjete eest. See artikkel on kirjutatud inimestele, kes ehitasid oma rakenduse Laraveli abil. Uurime, kuidas saab Laravelis nende vorme rämpsposti eest kaitsta.

Kasutaja saab oma vormile lisada reCAPTCHA, mis testib, kas vormi väärtused on täidetud inimeste poolt või mitte. Kuid seda tehes peavad teie kasutajad enne vormi esitamist mõistatus lahendama. Teine võimalus on lisada Google reCAPTCHA uusim versioon. Kuid see kuvab teie veebisaidi paremas alanurgas reCAPTCHA ikooni.

Enamik saidiomanikke ei meeldi captchadele. Ja kui sa vihkad captchasid, siis hoia oma vormides meepott, mis spämmirobotid kinni hoiab.

Enamasti on spämmirobotid tummad, sest võime lihtsalt täita kõik teie vormiväljad. Nad ei tea, milliseid vormivälju edasiseks protsessiks tegelikult kasutatakse. Saame seda stsenaariumi ära kasutada ja lisada oma vormile näiva sisendvälja (kärgpott). See varjatud väli peaks vormi esitamise ajal tühjaks jääma. Nii et serveri poolel kontrollides, kas see peidetud väli on tühi, on see kehtiv vormi esitamine ja kui see pole tühi, on see rämpspost. Olles seda öelnud, vaatame, kuidas luua meepott ja kaitsta veebisaitide vorme rämpsposti eest.

Looge Honeypot ja vältige vorm rämpspostist

Nagu me varjatud välja abil ütlesime, võime spämmirobotid petta ja vormi esitamise peatada serveri poolel. Sel eesmärgil kasutame laravel-honeypot paketti. Selle paketi abil saab kasutaja ühte või mitut vormi hõlpsasti kaitsta. Nad ei pea iga vormi jaoks eraldi serveripoolset koodi kirjutama.

Paketi installimiseks avage terminal oma projekti juurkataloogis ja käivitage käsk:

composer require spatie/laravel-honeypot

Paketi installimisel avaldage paketi konfiguratsioonifail käsuga:

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

See käsk lisab honeypot.phpkataloogi alla faili config. Te ei pea konfiguratsioonifaili muutma. Selle asemel .envlisage faili allpool näidatud konstant.

HONEYPOT_NAME=honeypot_for_bots

Siin panime nime ‘honeypot_for_bots’, mis saab olema teie peidetud välja nimi. Sellele konstandile saate määrata mis tahes muu nime.

Järgmisena registreerige globaalne vahevara, mis kaitseb kõiki teie vorme ühest kohast.

appHttpKernel.php

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

Kõik tehtud! Nüüd minge oma vormi juurde ja lisage sellele meepott, lisades @honeypotvormi HTML. Teie terafail näeb välja umbes selline nagu allpool.

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

Kui spämmirobotid üritavad teie vormis rämpsposti saata, loobub pakett päringust. Seetõttu ei satu enam teie andmebaasi rämpspost.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem