Door
Renske
op 20-03-2006 09:28
gewijzigd op 20-03-2006 10:28
4.405 views
Hoi. Ik heb deze tutorial gebruikt om IP adressen te blokkeren op een gastenboek waar veel gespammed werd: http://www.phphulp.nl/php/tutorials/10/51/. Maar ik vroeg me af of deze dus een beetje ok is en of er inderdaad niet mensen geblokkeerd worden die gewoon moeten kunnen reageren op het gastenboek?
Ik weet niet zo veel van proxy's en IP adressen helaas maar is het misschien te verbeteren of is de tutorial goed genoeg?
Dat bedoel ik, als iemand het handmatig probeert en het textarea weigert bijv de ://
Krijgt die persoon het formulier terug en als deze in de gaten heeft dat er aandacht aan besteed is laten ze je wel met rust.
Wat die bots doen is scannen op vars zoals homepage , url etc. als je daar iets van maakt wat niet te maken heeft met een homepage of website, zal je zien dat je een whole load minder spam krijgt. draai het woord homepage maar es om in je inputname en je $_POST.
Kunnen ze op deze manier ook emailadressen achterhalen om voor spamlijsten te gebruiken?
@leen: hm ok ik snap je maar wat doe ik met het inputveld website dan in jouw optie? (naast dus de naam aanpassen ed en de $_POST, wat al gedaan is). Want die word ge-echooood als <a href="hierdeurluitdedatabase">website</a>
Daar ontstaat namelijk bij het probleem van die bots namelijk. Maar LET OP: probleem is dus al opgelost door de benaming te veranderen, mocht dit niet gaan helpen moet ik echt iets anders verzinnen (maar daar moet ik dus eerst nog even mee wachten tot ik weet hoe dit werkt).
Als ik het goed begrepen heb is dit de beste manier.
Maar ik ben ook maar een beginner dus als de experts aan of opmerkingen hebben hoor ik het graag.
Ten eerste:
<input type="text" name="hierdeurluitdedatabase" value="http://"> (De waarde value wordt denk ik al trickey. Kan je denk ik ook leeg laten en zelf toevoegen als je de record toon)
Dit is tegen de bots.
Daarnaast voor de afhandeling van het formulier een
controle dmv. een reguliere expressie.
<?
if (!ereg("alleen wat er ingevoerd mag worden",$_POST['hierdeurluitdedatabase']))
{
echo "U heeft iets ingevuld wat wij niet graag willen zien. Alleen gewone berichten graag."
}
else
{
handle_form();//schrijf naar de database
}
?>
Dit is tegen de personen die kwaad willen.