Ongewenste (lege) berichten plaatsen in Gastboek
Mijn zoon van 12 heeft een gastboek gemaakt (met hulp van mij) bij zijn website. Hij controleert daar de invoer van. indien bepaalde velden niet aan bepaalde waardes voldoen wordt die niet verwerkt.
ook heeft hij er een filter in gebouwd die controleert of er geen url's in de velden ingevuld zijn of onzedelijke woorden. is dat wel het geval dan wordt het script niet verder verwerkt. indien het bericht wel geldig is wordt het bijgewerkt en tevens een mail verstuurd met bericht zodat hij weet of er wat bijgeschreven is.
nu wil het nog steeds gebeuren dat er wel bericht bijgeschreven wordt maar dat bericht is leeg. hier wordt ook op gecontroleerd of de velden wel invoer hebben. alle velden zijn leeg en ook geen IP adres komt boven water.
Ik weet niet waar dat vandaan komt en hoe dit ontstaat en het belangrijkste : hoe vangen we dat af
herkent iemand dit probleem en welke truc moeten we toepassen om dit te kunnen blokeren.?
ook heeft hij er een filter in gebouwd die controleert of er geen url's in de velden ingevuld zijn of onzedelijke woorden. is dat wel het geval dan wordt het script niet verder verwerkt. indien het bericht wel geldig is wordt het bijgewerkt en tevens een mail verstuurd met bericht zodat hij weet of er wat bijgeschreven is.
nu wil het nog steeds gebeuren dat er wel bericht bijgeschreven wordt maar dat bericht is leeg. hier wordt ook op gecontroleerd of de velden wel invoer hebben. alle velden zijn leeg en ook geen IP adres komt boven water.
Ik weet niet waar dat vandaan komt en hoe dit ontstaat en het belangrijkste : hoe vangen we dat af
herkent iemand dit probleem en welke truc moeten we toepassen om dit te kunnen blokeren.?
Beste heer/mevrouw? van Leeuwen,
Het kan werkelijk aan van alles liggen. Het makkelijkste is als je de relevante code plaatst en een linkje naar het gastenboek. Dan is het probleem en de oplossing het makkelijkst en snelst aan te dragen.
De relevante code zou zijn het gedeelte waar het fout gaat (het controleren dus). Waar en hoe worden de velden gecontroleerd?
Het kan werkelijk aan van alles liggen. Het makkelijkste is als je de relevante code plaatst en een linkje naar het gastenboek. Dan is het probleem en de oplossing het makkelijkst en snelst aan te dragen.
De relevante code zou zijn het gedeelte waar het fout gaat (het controleren dus). Waar en hoe worden de velden gecontroleerd?
Gewijzigd op 01/01/1970 01:00:00 door Arend a
waarschijnlijk gaat er iets mis met je $_POST variabelen?
Of je server ondersteunt geen super globals(geen ip)?
Of je server ondersteunt geen super globals(geen ip)?
Of de controle van de invoer is wel goed,maar het verwerken daarvan naar SQL gaat niet goed:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$query= "INSERT INTO tabel (kolom1, kolom2, kolom3) VALUES ('".$waarde1."', '".$waarde2."' , '".$waarde3."')";
$result = mysql_query($query);
if($result && mysql_affected_rows($result) == 1){
echo 'Bijgewerkt';
}
else{
trigger_error(mysql_error(). '<br />In query: '.$query;
}
?>
$query= "INSERT INTO tabel (kolom1, kolom2, kolom3) VALUES ('".$waarde1."', '".$waarde2."' , '".$waarde3."')";
$result = mysql_query($query);
if($result && mysql_affected_rows($result) == 1){
echo 'Bijgewerkt';
}
else{
trigger_error(mysql_error(). '<br />In query: '.$query;
}
?>
Hij doet samen met 3 klasgenootjes mee aan de thinkquest wedstrijd van Groep 8 basisschool en heeft inmidels bericht gekregen dat ze in de finale zijn gekomen gemaakt in publicher maar ze wilde geen "aangelinkt" gastboek zoals iedereen heeft maar 1 in de stijl van de website
http://www.10872.08jn.thinkquest.nl/
er wordt geen gebruik gemaakt van mysql maar de data wordt direct in een html bestand gezet. Dit is dus de eenvoudige versie en dat moet ook want ze zijn 12 jaar
code ingekort op 1 veld
de controle code ziet er als volgt uit:
http://www.10872.08jn.thinkquest.nl/
er wordt geen gebruik gemaakt van mysql maar de data wordt direct in een html bestand gezet. Dit is dus de eenvoudige versie en dat moet ook want ze zijn 12 jaar
code ingekort op 1 veld
de controle code ziet er als volgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
//Het formulier guestbook_new.php is ingevuld en verzonden
if(isset($_POST['GWVeroveraars'])){
//HTML- en PHP-tags verwijderen
$name=strip_tags($_POST['name']);
$REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
//controleren url=http en ongewenste taal uit de strings indien aanwezig afbreken
include('filter.inc.php');
//*** invoer controleren ****
//Geen echte naam opgegeven
if(strlen(trim($name))<5){
$error_msg="Typ uw naam";
}
//Extra Check op invoer naam omdat er toch nog steeds lege velden worden weggeschreven
if(trim($name)==""){
$error_msg="Typ uw naam";
}
}
//*** Einde controle ****
if($error_msg){
//inhoud klopt niet - foutmelding weergeven en velden niet verwerken
$message ="<br>Helaas kunnen we uw bericht niet in ons gastenboek opnemen ivm onvolledige gegevens:<br><br>";
$message.=$error_msg;
$message.="<br><br>Klik op <a href=javascript:history.back(1)>Vorige</a> om alle velden in te vullen.<br><br>";
else
// gastenboek opmaken en email versturen
}
>?
//Het formulier guestbook_new.php is ingevuld en verzonden
if(isset($_POST['GWVeroveraars'])){
//HTML- en PHP-tags verwijderen
$name=strip_tags($_POST['name']);
$REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
//controleren url=http en ongewenste taal uit de strings indien aanwezig afbreken
include('filter.inc.php');
//*** invoer controleren ****
//Geen echte naam opgegeven
if(strlen(trim($name))<5){
$error_msg="Typ uw naam";
}
//Extra Check op invoer naam omdat er toch nog steeds lege velden worden weggeschreven
if(trim($name)==""){
$error_msg="Typ uw naam";
}
}
//*** Einde controle ****
if($error_msg){
//inhoud klopt niet - foutmelding weergeven en velden niet verwerken
$message ="<br>Helaas kunnen we uw bericht niet in ons gastenboek opnemen ivm onvolledige gegevens:<br><br>";
$message.=$error_msg;
$message.="<br><br>Klik op <a href=javascript:history.back(1)>Vorige</a> om alle velden in te vullen.<br><br>";
else
// gastenboek opmaken en email versturen
}
>?
Gewijzigd op 01/01/1970 01:00:00 door Jonet L




