/ 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
Forsøg på spam?
Fra : Martin Ploug


Dato : 23-05-07 20:12

Hej

Prøv at se på http://www.sjovhund.dk/gbog2.php

I det øverste indlæg i gæstebogen er der skrevet et
indlæg med <a href= ></a> [url=][/url]
.........er det et forsøg på spam eller hvad?
Ja, det kan selvfølgeligt være svært at svare på, men
jeg vil egentligt høre, om jeg kan forsøge at forhindre,
at der kommer den slags indlæg?

Gæstebogen bygger på det script der findes her:
http://www.hjemmesideskolen.dk/scripts/visit.asp?id=gbphpmysql

Jeg har derudover tilføjet den stump, der er beskrevet med
$SpamErrorMessage et godt stykke nede på:
http://www.stevedawson.com/article0015.php

...og det har set rimeligt fornuftigt ud et godt stykke tid.
Men nu er der så kommet det med <a href= ></a> [url=][/url]

Jeg tænker så på, om det måske ville hjælpe noget at tilføje noget
i kodestumpen med $SpamErrorMessage........altså noget med at
den udover http også skal tjekke for tegn som f.eks. <, >, [ , ] , { , }
andre?

Men kan jeg bare tilføje det i den kodelinje, hvor der står
if(preg_match(/"http/i", "$message")) ?
Hvilket funktion har i'et iøvrigt her?

På forhånd tak.

Med venlig hilsen
Martin

 
 
Bertel Lund Hansen (23-05-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 23-05-07 23:16

Martin Ploug skrev:

> Men kan jeg bare tilføje det i den kodelinje, hvor der står
> if(preg_match(/"http/i", "$message")) ?

I debatgruppen dk.edb.internet.webdesign.html blev der beskrevet
en god metode til at forhindre spam fra en mailformular. Tråden
hedder:

   Effektiv spam-hindring - foreløbig i hvert fald

og begynder med dette indlæg:

   <news:4651876a$0$4174$ba624c82@nntp02.dk.telia.net>

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Martin (24-05-2007)
Kommentar
Fra : Martin


Dato : 24-05-07 08:45

Martin Ploug wrote:
> Jeg tænker så på, om det måske ville hjælpe noget at tilføje noget
> i kodestumpen med $SpamErrorMessage........altså noget med at
> den udover http også skal tjekke for tegn som f.eks. <, >, [ , ] , { , }
> andre?

Du kan bare køre en
$message = strip_tags($message);
så er de normale tags ude af verdenden :)

Så mangler du bare at fjerne alle [ ] og { }

$message = preg_replace('/\[(.*?)\]|\{(.*?)\}/si','',$message);
Noget ala denne skulle gerne fjerne alle [ ] og { } inkl indhold.
/si = s er så den kigger på flere linjer, rigtig godt ved textarea fx.

>
> Men kan jeg bare tilføje det i den kodelinje, hvor der står
> if(preg_match(/"http/i", "$message")) ?
> Hvilket funktion har i'et iøvrigt her?

Case Insensivity, altså din preg_match rammer både http og HTTP

Martin Ploug (24-05-2007)
Kommentar
Fra : Martin Ploug


Dato : 24-05-07 20:18

Martin skrev:
> Du kan bare køre en
> $message = strip_tags($message);
> så er de normale tags ude af verdenden :)
>
> Så mangler du bare at fjerne alle [ ] og { }
>
> $message = preg_replace('/\[(.*?)\]|\{(.*?)\}/si','',$message);
> Noget ala denne skulle gerne fjerne alle [ ] og { } inkl indhold.
> /si = s er så den kigger på flere linjer, rigtig godt ved textarea fx.
>
>>
>> Men kan jeg bare tilføje det i den kodelinje, hvor der står
>> if(preg_match(/"http/i", "$message")) ?
>> Hvilket funktion har i'et iøvrigt her?
>
> Case Insensivity, altså din preg_match rammer både http og HTTP
Hej Martin

Mange tak for hjælpen.

Kan du fortælle mig, hvor meget af det der står nu, der skal med, og om
det hele skal
skrives sammen i én kodelinje / variabel, eller om det skal stå i f.eks.
tre adskilte kodelinjer?

Altså hvor meget skal med, og skal det hele skrives sammen i én kodelinje?

Skal der f.eks. stå følgende eller hvordan?

$message = strip_tags($message);

$message = preg_replace('/\[(.*?)\]|\{(.*?)\}/si','',$message);

if(preg_match(/"http/i", "$message"))

Altså skal ovenstående skrives sammen i én samlet kodelinje,
hvor der står $message = ...og så en kombination af ovenstående
strips, replace og betingelser eller hvordan?

På forhånd tak.

Med venlig hilsen
Martin





Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste