/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gæstebog - robotter udfylder
Fra : Ryan Jeppesen


Dato : 31-10-06 20:41

Hejsa

Jeg har et par private hjemmesider hvor jeg har nogen gæstebøger på.
Jeg har et problem med at diverse robotter eller hvad man skal kalde
dem udfylder formularerne automatisk med viagra og diverse gejl.

Jeg skriver til .txt filer da jeg ikke har MySQL på de webhoteller.

Er den en eller anden fiks måde hvor på jeg kan undgå alt det spam i
mine gæstebøger?

På forhånd tak

Ryan

 
 
Dennis Munding (31-10-2006)
Kommentar
Fra : Dennis Munding


Dato : 31-10-06 21:54

Hej Ryan!
"Ryan Jeppesen" <mail@power-up.dk> skrev i en meddelelse
news:5g9fk298u408059462l6k0lvn3cbvl4riq@4ax.com...
> Hejsa
>
> Jeg har et par private hjemmesider hvor jeg har nogen gæstebøger på.
> Jeg har et problem med at diverse robotter eller hvad man skal kalde
> dem udfylder formularerne automatisk med viagra og diverse gejl.
>
> Jeg skriver til .txt filer da jeg ikke har MySQL på de webhoteller.
>
> Er den en eller anden fiks måde hvor på jeg kan undgå alt det spam i
> mine gæstebøger?

"Sjovt" nok har jeg lige haft samme problem - prøv at læse tråden "Læse
indhold af POST-data" fra den 28-10-2006 - jeg fandt en løsning...

Nu ved jeg ikke lige hvordan lagring i en .txt-fil foregår, men jeg går ud
fra, at det er noget i samme stil som med en database - altså med
method="post"...?!?

Hvis ja, så kan dette måske hjælpe:

if(strpos($_POST['besked'],'<a href=') !== false) { /* Hvis besked-feltet
indeholder starten af et link-tag (som jeg går ud fra, at der bliver postet
i dine gæstebøger!?), så betragtes det som spam - mine gæstebøger skal ikke
fyldes med links! */
header("Location: ingen_spam_tak.php"); /* Videresend spammeren til en
fejl-side */
} else {

/* Videre forløb, hvis indholdet af besked-feltet er "lovligt"... */

Håber det kan bruges - jeg er kun PHP-newbie, så der er sikkert andre, som
kan komme med mere kvalificerede bud på blokering...


Med venlig hilsen
--
Dennis Munding
http://pe-vagtservice.dk/ -Et sikkert valg til at passe på dine værdier!
http://munding-interieur.dk/ -Alt godt til hjemmet - på Frederiksberg!
http://munding-webdesign.dk/ -Vi ses! - ganske enkelt...



Mikkel Z. Herold (31-10-2006)
Kommentar
Fra : Mikkel Z. Herold


Dato : 31-10-06 22:38

On 31-10-2006 20:41 Ryan Jeppesen wrote:
> Er den en eller anden fiks måde hvor på jeg kan undgå alt det spam i
> mine gæstebøger?

Én metode - som jeg dog ikke selv har afprøvet - er at lave et skjult
felt i din formular, altså noget i stil med <input type="hidden"
name="skjultfelt">

Efter sigende udfylder spamrobotter disse felter alligevel, så du kan
derfor lave noget a la:

if (!empty($_POST['skjultfelt'])) {
header("location: ingen_spam.html");
die();
}

inden du skriver til txt-filen.

En anden - og ret sikker - måde er at bede brugeren om at udfylde et
felt med en bestemt tekst, som de kan regne ud hvad er, f.eks.

Hvilken farve har kul: <input type="text" name="testfelt">

og så teste inden du skriver til din txt-fil:

if ($_POST['testfelt'] != "sort") {
header("location: ingen_spam.html");
die();
}

Mvh. Mikkel

--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

www.mzh.dk

Martin (01-11-2006)
Kommentar
Fra : Martin


Dato : 01-11-06 07:59

Mikkel Z. Herold wrote:
> On 31-10-2006 20:41 Ryan Jeppesen wrote:
>
>> Er den en eller anden fiks måde hvor på jeg kan undgå alt det spam i
>> mine gæstebøger?
>
>
> Én metode - som jeg dog ikke selv har afprøvet - er at lave et skjult
> felt i din formular, altså noget i stil med <input type="hidden"
> name="skjultfelt">
>
> Efter sigende udfylder spamrobotter disse felter alligevel, så du kan
> derfor lave noget a la:

Det er desværre forkert...
robotter er så kloge ikke at udfylde hidden felter.

Hvis det skal være på denne måde - så skal det gøres på denne måde

<div style='display:none'>
<input type='text' name='udfyldes_ikke' value=''/>
Udfyld ikke ovenstående felt
</div>

if($_POST['udfyldes_ikke'])) { header("location: nospam.php"); exit; }

> En anden - og ret sikker - måde er at bede brugeren om at udfylde et
> felt med en bestemt tekst, som de kan regne ud hvad er, f.eks.
>
> Hvilken farve har kul: <input type="text" name="testfelt">

Hvis det er en intelligent robot, så på et eller andet tidspunkt, så
finder robotten ud af ovenstående.

Det man burde gøre er at skifte "hvad farve har kul" med forskellige
ting, som fx. "hvad farve har solen" osv osv.

Jeg gør således
Skriv tallet et, to, tre osv. osv.

Jeg gør det noget ala sådan her

<?php
session_start();
$capchta = array(
"sort"=>"Farven på kul"
,"gul"=>"Farven på solen"
,9=>"Skriv tallet ni"
,8=>"Skriv tallet otte"
....
,1=>"Skriv tallet et"
);

// Så er det bare at smide alt muligt ind, som man nu ønsker
// Jeg synes selv at det er nemmere end de der bogstaver på et billede
// de er ofte meget svære at tyde, og især hvis man bare har en lille
// smule farveblindhed i sig.
// Og det er jo ikke alle der endnu har lært det med også at lave lyde
// til det

shuffle($capchta);
$_SESSION["capchta"]=array_keys($capchta[0]);

echo array_values($capchta[0]);
<input type='text' name='capchta'/>
?>

På næste side så gøres således:

<?php
session_start();
if($_POST["capchta"]!=$_SESSION["capchta"]) {
// SPAM!!!
} else {
// NO SPAM
}

Martin Mouritzen (31-10-2006)
Kommentar
Fra : Martin Mouritzen


Dato : 31-10-06 22:45

On Tue, 31 Oct 2006 20:41:17 +0100, Ryan Jeppesen <mail@power-up.dk>
wrote:

>Jeg har et par private hjemmesider hvor jeg har nogen gæstebøger på.
>Jeg har et problem med at diverse robotter eller hvad man skal kalde
>dem udfylder formularerne automatisk med viagra og diverse gejl.
>
>Jeg skriver til .txt filer da jeg ikke har MySQL på de webhoteller.
>
>Er den en eller anden fiks måde hvor på jeg kan undgå alt det spam i
>mine gæstebøger?

En anden måde end de foreslåede er at kræve at brugerne har javascript
slået til (Det har bots nemlig ikke) - Det har jeg med fordel gjort på
visse sites som alligevel kræver javascript slået til (af den ene
eller anden grund).

Måden er at have et hidden felt, hvor du har en værdi, som du så
opdaterer via. javascript, og til sidst kontrollerer via. PHP.

Det er så selvfølgelig op til dig at beslutte om du vil udelukke de
eventuelle brugere som ikke har javascript slået til.

Der er også andre måder som f.eks. at vise et billede af en tekst
brugerne skal indtaste i et felt som du så kontrollerer, bots kan
nemlig heller ikke læse billeder.

--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

Jesper Brunholm (01-11-2006)
Kommentar
Fra : Jesper Brunholm


Dato : 01-11-06 11:53

Martin Mouritzen skrev:
> Der er også andre måder som f.eks. at vise et billede af en tekst
> brugerne skal indtaste i et felt som du så kontrollerer, bots kan
> nemlig heller ikke læse billeder.

Det er desværre en sandhed med modifikationer efterhånden. Bots kan godt
læse tekst i billeder hvis man ikke gør en del for at forvrænge teksten,
og forvirre botten med tilfældige streger i baggrunden osv.

Det nærmer sig så småt et stadium hvor botterne er så gode til at læse
tekst i billeder, så almindelige menneske-brugere har svært ved at læse
de bot-sikre billeder :-/

Et af de mere spændende tiltag jeg har set er at sætte en timer på
formularen, så den fx. ikke må submittes indenfor 5 eller 10 sekunder
fra den er færdigloadet. Det vil sjældent genere menneskebrugere, men
robotter vil ofte falde i den fælde. Man kan overveje om der skal være
et javascript countdown til legalt afsendingstidspunkt (for at hjælpe
meget hurtige mennesker) (men hold kontrollen af afsendingstidspunktet
serverside)

<http://www.ekot.dk/www/spamtrap/> har lidt mere om sagen.

mvh

Jesper Brunholm


Peter Brodersen (01-11-2006)
Kommentar
Fra : Peter Brodersen


Dato : 01-11-06 16:12

On Wed, 01 Nov 2006 11:53:28 +0100, Jesper Brunholm
<nospam@brunholm-scharff.dk> wrote:

>> Der er også andre måder som f.eks. at vise et billede af en tekst
>> brugerne skal indtaste i et felt som du så kontrollerer, bots kan
>> nemlig heller ikke læse billeder.
>Det er desværre en sandhed med modifikationer efterhånden. Bots kan godt
>læse tekst i billeder hvis man ikke gør en del for at forvrænge teksten,
>og forvirre botten med tilfældige streger i baggrunden osv.

Der er stadigvæk forskel på de målrettede angreb og de vilde angreb.

Microsoft, Google, Yahoo og venner har problemer i denne forbindelse
idet angribere går målrettet efter dem, og derfor vil bruge tid på at
tilpasse deres robotter, når de skifter billeder og så fremdeles.

For folk, der bare har en hyggeblog, hvor robotter submitter næsten i
blinde, kan det være nok med helt simple mekanismer som fx "Kryds
dette felt af, men kryds ikke det næste felt af". Det er virkelig
sårbart over for målrettede angreb (idet det er let at fortælle en
robot dette), men sålænge, der netop ikke er tale om målrettede
angreb, kan de simple funktioner/instrukser være nok.

--
- Peter Brodersen
Kendt fra Internet

Jesper Brunholm (01-11-2006)
Kommentar
Fra : Jesper Brunholm


Dato : 01-11-06 18:57

Peter Brodersen skrev:
>>> Der er også andre måder som f.eks. at vise et billede af en tekst
>>> brugerne skal indtaste i et felt som du så kontrollerer, bots kan
>>> nemlig heller ikke læse billeder.
>> Det er desværre en sandhed med modifikationer efterhånden. Bots kan godt
>> læse tekst i billeder hvis man ikke gør en del for at forvrænge teksten,
>> og forvirre botten med tilfældige streger i baggrunden osv.
>
> Der er stadigvæk forskel på de målrettede angreb og de vilde angreb.
>
> Microsoft, Google, Yahoo og venner har problemer i denne forbindelse
> idet angribere går målrettet efter dem, og derfor vil bruge tid på at
> tilpasse deres robotter, når de skifter billeder og så fremdeles.
>
> For folk, der bare har en hyggeblog, hvor robotter submitter næsten i
> blinde, kan det være nok med helt simple mekanismer som fx "Kryds
> dette felt af, men kryds ikke det næste felt af".

Ja, men
1: det gør at brugeren skal ulejliges ekstra for at hjælpe webmaster
2: hvad har det at gøre med mit udsagn om at robotter idag ret
overkommeligt kan læse tekst skrevet med en rimelig kontrast på en klar
baggrund?

> Det er virkelig
> sårbart over for målrettede angreb (idet det er let at fortælle en
> robot dette), men sålænge, der netop ikke er tale om målrettede
> angreb, kan de simple funktioner/instrukser være nok.

Jamen jeg er skam helt enig i at vi når uhyggeligt langt lige så snart
vi beder om sprogforståelse, og da især hvis vi beder om _dansk_
sprogforståelse, men det ændrer altså ikke på at løsningen med at
"gemme" noget tekst som skal indtastes som kontrol i en
bruger-letlæselig gif, ikke længere er fejlfrit.

Hvad angår sammenhængen imellem størrelsen af et projekt eller site, og
behovet for avanceret beskyttelse angår: har du læst Tokes side, som jeg
linkede til, hvor han blandt andet skriver at der har været anvendt en
webbrowser-komponent med javascript enabled for at kunne spamme på ekot.dk?

mvh

Jesper Brunholm

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste