check of tags in een string zitten

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik zoek eigenlijk een function die kijkt of er tags in een string zitten.
strip_tags return geen TRUE of FALSE.

Het gaat er om dat als er tags in een text zitten dat de text dan niet verwerkt gaat worden.

Ik zat al wel te denken aan
if(strlen($text) == strlen(strip_rags($text)) {
// verwerk text
} else {
// geef een error
}

Dit wil ik gebruiken om spambots te weren in mijn guestbook.
 
HTML tags? Snelste optie is om strpos( $string, '<' ) te gebruiken. Alle tags beginnen met dat teken en je layout gaat gegarandeerd stuk als je mensen dat in laat voeren.
 
Tenzij iemand de site zo leuk vindt en een "<3" plaatst ;)

Spam-preventie blijft lastig.
Je kunt waarschijnlijk het grootste gedeelte wel afvangen door een formulierveld op te nemen dat je via CSS op "display:none;" zet.

Vervolgens controleer je bij het verwerken van het formulier of dat veld nog steeds leeg is.
Zo niet, grote kans dat een spambot een bericht plaatst :)
 
Als iemand een <3 plaatst, en de strpos pikt dat op als een <, dan ga je in de problemen komen als dat teken naar de browser gestuurd wordt en de HTML instort :P
 
<3 kan ik toch met htmlenteties ondervangen.
Ik werk al met een token en ook met een honeyjar.
Door ook op htmltags te controleren voer ik een extra check uit.
En als iemand <Big Hugh> zou schrijven dan maakt me dat niet uit,
maar normale mensen zullen niet html tags gebruiken om een berichtje achter te laten in een guestbook.

Okey net ff getest, maar strip_tags verwijderd <> en ook <, dus zo als ik het nu heb mogen < nooit. Maar is ook niet zo'n probleem.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan