login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Captcha blijft foutmeldig geven

Offline Clemens32 - 05/03/2007 16:27
Avatar van Clemens32PHP interesse http://www.plaatscode.be/4499/
Ik heb al van alles geprobeerd.
De captcha wordt wel getoond, maar als de code wordt ingevoerd en er wordt op submit geklikt geeft hij de foutmelding van regel 17.
De captcha zelf staat op regel 94.
image.php staat in de map includes.

8 antwoorden

Gesponsorde links
Offline Ibrahim - 05/03/2007 16:38
Avatar van Ibrahim PHP expert wat is de error dan ?
Offline Stijn - 05/03/2007 17:28
Avatar van Stijn PHP expert Bestaat je $_SESSION['captcha'] wel? Anders geef je code van Captcha ook (image.php).
Offline Clemens32 - 05/03/2007 17:40
Avatar van Clemens32 PHP interesse Ik krijg geen error.
De sessie bestaat ook.
Ik heb session_start() erbij gezet (want die was ik vergeten AUW STOM) en ik heb Verdana.ttf in de map includes gezet, want daar vroeg image.php om.
Nu werkt het.
Ik heb wel een tweede "probleempje".
Ik gebruik de volgende regel om mijn bericht (met de fckeditor) in de database te zetten:

  1. <?php
  2. ?>


htmlspecialchars() omdat ik erop gewezen werd dat mijn gastenboek makkelijk omzeep te helpen was met een alert('blabla').
Nu komt een tekst er echter zo uit te zien:

&lt;p&gt;asdgflsdf\asfg&lt;/p&gt;
&lt;p&gt;adsfghjag&lt;/p&gt;
&lt;p&gt;adfgasfg&lt;/p&gt;

Iemand een optie om die &lt;p&gt; enz. bij elke regel weg te krijgen?

Ik heb op php.net gekeken.
Ik doe nu strip_tags() , maar die doet niet genoeg.
htmlspecialchars_decode() kan pas vanaf php5.
Offline Gerard - 05/03/2007 21:54
Avatar van Gerard Ouwe rakker Wanneer je het gebruik van HTML niet wil toestaan, waarom dan FCKEditor gebruiken...
Offline Clemens32 - 05/03/2007 21:55
Avatar van Clemens32 PHP interesse Omdat daarmee een hoop opties snel en makkelijk gewijzigd kunnen worden.
Het moet toch gewoon mogelijk zijn om je bericht zonder &lt; enz. te krijgen?
Offline Gerard - 05/03/2007 21:56
Avatar van Gerard Ouwe rakker Dan moet je htmlspecialchars weghalen. Je kan later alsnog gewoon <script> en </script> vervangen door een lege string om het executen van javascript tegen te gaan.
Offline Clemens32 - 05/03/2007 22:07
Avatar van Clemens32 PHP interesse Waar moet ik dat weghalen?
Bij het inserten of bij het echoën van de data?
En hoe kan ik script dan vervangen om zo die grappige (NOT) JavaScriptjes te vermijden?
Offline leendert - 05/03/2007 23:13
Avatar van leendert HTML beginner Je kan het bijv zo doen:

<?php
$message = "<script>alert('hoi');</script>";
$message = preg_replace('#<(script)[^>]*>(.+?)</\1>#i','${2}', $message);
echo $message;
?>

Op deze manier kan je dus icm strip_tags() elke tag vervangen die je maar zelf wilt als je ook style en de tag span wilt vervangen (in jou geval niet nodig maar als voorbeeld ) dan kan je:

<?php
$message = "<script>alert('hoi');</script>";
$message = preg_replace('#<(script|style|span)[^>]*>(.+?)</\1>#i','${2}', $message);
echo $message;
?>

het zo doen. Zo eenvoudig 


Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s