[php] Forum; hack proof maken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik ben bezig wat forum functies te schrijven (UBB codes etc) en nou wil ik wel dat niemand vervelende dingen kan uithalen zoals java script jes toevoegen.

nou had ik hier al wat gemaakt hier en dan clean functie. Deze filtert al het html en java script wat er gepost wordt uit.
Andere functies werken ook maar is niet zo relevant.

Dus wie kan mijn nog op fouten wijzen, of andere tips. Heb je een fout, vertel dan wat je gedaan heb en ik probeer het te verhelpen. En als afsluiter, is dit veilig?

PHP:
1
2
3
4
if($email == "email@adres.nl")
  echo("je mag hier neit naar toe mailen");
else 
 mail($email,"aanvraag", "geplaatst");

Acties:
  • 0 Henk 'm!

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
* 4Real leest niet goed

[ Voor 87% gewijzigd door 4Real op 21-02-2003 19:28 ]


Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

Ik weet niet wat je precies wilt met je code, maar dit lijkt me beter:
PHP:
1
2
3
4
if($email != "email@adres.nl") 
  echo("Je mag alleen naar email@adres.nl mailen"); 
else  
 mail($email,"aanvraag", "geplaatst");

In het kader van spampreventie dus

[ Voor 18% gewijzigd door Gerco op 21-02-2003 19:30 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • arnominator
  • Registratie: November 2000
  • Laatst online: 02-12-2021
Hmms. ben totaal geen php expert, maar je moet je variable 'email' tenminste door een slimme regex halen, om te checken of het wel een email adres is..

Zie eens hier : http://www.phreedom.org/article.php?id=45

Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 12-09 01:23
arnominator schreef op 21 February 2003 @ 19:33:
Hmms. ben totaal geen php expert, maar je moet je variable 'email' tenminste door een slimme regex halen, om te checken of het wel een email adres is..

Zie eens hier : http://www.phreedom.org/article.php?id=45
En dan :? Je kunt nog steeds emailen naar blaat@blaat.com (dus een domein dat niet bestaat). Als je al controleert op domein extensie, meestal moet je een @ hebben met daarna een . , dus bagger@troep.kom gaat vaak ook.
Die check van Gerco is een stuk beter.

Acties:
  • 0 Henk 'm!

  • Sjeik
  • Registratie: Augustus 2001
  • Laatst online: 29-05 14:39
Waarom laat je niet gewoon alle < en > vervangen door
code:
1
&lt; &gt;
?

Volgens mij kan er dan niets gebeuren.

Was ik maar rijk en niet zo knap...


Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 16-09 19:01

Tux

Sjeik schreef op 21 februari 2003 @ 20:12:
Waarom laat je niet gewoon alle < en > vervangen door
code:
1
&lt; &gt;
?

Volgens mij kan er dan niets gebeuren.
htmlspecialchars() voor de duidelijkheid

[ Voor 7% gewijzigd door Tux op 21-02-2003 20:15 ]

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

als je HTML en JavaScript wil restricten dan is daar ook een standaard functie voor namelijk htmlentities

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 12-09 01:23
Verwijderd schreef op 21 februari 2003 @ 19:03:
ik ben bezig wat forum functies te schrijven (UBB codes etc) en nou wil ik wel dat niemand vervelende dingen kan uithalen zoals java script jes toevoegen.
PHP manual htmlentities

Acties:
  • 0 Henk 'm!

Verwijderd

of je gebruikt strip_tags functie

$string = strip_tags($string , '<de tags die je wel wilt allowe' >";


http://www.php.net/manual/en/function.strip-tags.php

Grtz
Phreaq

Acties:
  • 0 Henk 'm!

Verwijderd

Waarom vergelijk je de email adres niet met de addressen in je forum db :)
Pagina: 1