index.php/ afvangen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Nu heb ik al verschillende mod rewrites gebruikt maar ik blijft het probleem houden.

538 en Tweakers hebben het in elk geval beveiligd

http://www.538.nl/live/index.php/ kom je op een error 404
http://www.538.nl/live/index.php werkt de pagina wel

Dat wil ik ook maken alleen lukt het niet.
http://<domeinnaam> niets aan de hand
http://<domeinnaam>/index.php werkt ook
http://<domainnaam>/index.php/ layout omzeep

Heb rond gezocht en meer pagina's/sites hebben dit probleem
http://php.ferket.net/contact.php
http://php.ferket.net/contact.php/

Tweakers ook getest word dan omgezet naar tweakers.net

Wat voor geniaal stuk code is er nodig om dat te fixen?

[ Voor 3% gewijzigd door Creepy op 28-08-2015 14:33 . Reden: Iets ontspammed... ]

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • +1 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:09

Creepy

Tactical Espionage Splatterer

Het werkt precies andersom. Jij hebt iets gemaakt of geconfigureerd dat alles redirect naar je index.php. Haal dat weg.

[ Voor 8% gewijzigd door Creepy op 28-08-2015 14:35 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Dank, ik dien dus het hele script aan te passen :/

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • 0 Henk 'm!

  • Demo
  • Registratie: Juni 2000
  • Laatst online: 13-10 08:48

Demo

Probleemschietende Tovenaar

RobbyTown schreef op vrijdag 28 augustus 2015 @ 15:06:
Dank, ik dien dus het hele script aan te passen :/
Je moet je webserver zo configureren dat die alles rewrite naar /

Unix doesn't prevent a user from doing stupid things, because that would necessarily prevent them from doing brilliant things.
while true ; do echo -n "bla" ; sleep 1 ; done


Acties:
  • 0 Henk 'm!

  • Mr_DD
  • Registratie: Maart 2002
  • Laatst online: 02-07-2023
Het feit dat je layout niet meer werkt is omdat het pad naar je css niet meer klopt. Als je link naar je css op deze manier maakt dan zou het opgelost moeten zijn:

HTML:
1
<link href="<?php echo  $_SERVER['DOCUMENT_ROOT'] ;?>/style.css" rel="stylesheet" type="text/css">

[ Voor 3% gewijzigd door Mr_DD op 28-08-2015 15:21 ]


Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Mr_DD schreef op vrijdag 28 augustus 2015 @ 15:17:
Het feit dat je layout niet meer werkt is omdat het pad naar je css niet meer klopt. Als je link naar je css op deze manier maakt dan zou het opgelost moeten zijn:

<link href="<?php echo $_SERVER['DOCUMENT_ROOT'] ;?>/style.css" rel="stylesheet" type="text/css">
Dat klopt. Maar dan zit ik nog met een klein beveiligings-probleem. Via webdev tool in firefox kun je dan faken en omzeil je de checks (als het een contact form is)

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width">
        <title>titel</title>
        <!-- Not required: presentational-only.css only contains CSS for prettifying the demo -->
        <link rel="stylesheet" href="presentational-only/presentational-only.css">
        <!-- responsive-full-background-image.css stylesheet contains the code you want -->
        <link rel="stylesheet" href="responsive-full-background-image.css">

</head>
<body>

  <header class="container">
    <section class="content">
      <blockquote><img src="images/logo.png" /><h1>titel</h1></blockquote>
        <div id="content">

        <blockquote><p class="small"></p></blockquote>
            
        <blockquote><h1>Contact us</h1><p class="small">
        <?php
 
// E-mailadres van de ontvanger
$mail_ontv = ''; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    // naam controle
    if (empty($_POST['naam']))
        $naam_fout = 1;
    // e-mail controle
    if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
            $email_fout = 1;
    // bericht controle
    $woorden = 22;
    if (str_word_count($_POST['bericht']) < $woorden)
            $bericht_fout = 1;          
    // antiflood controle
    if (!empty($_SESSION['antiflood']))
    {
        $seconde = 300; // 300 seconden (5 min) voordat dezelfde persoon nog een keer een e-mail mag versturen
        $tijd = time() - $_SESSION['antiflood'];
        if($tijd < $seconde)
            $antiflood = 1;
    }
}

// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['bericht']) || !empty($bericht_fout) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if (!empty($naam_fout))
            echo '<p class="small">Your name is not filled.</p>';           
        elseif (!empty($email_fout))
            echo '<p class="small">Your email address is not correct.</p>';
        elseif (!empty($bericht_fout))
            echo '<p class="small">Your message is to short, minimal ' . $woorden . ' words.</p>';  
        elseif (!empty($antiflood))
            echo '<p class="small">You may send only one message per ' . $seconde . ' second.</p>';
        else
            echo '<p class="small">You forgot your name , email address , subject or message forget to fill in.</p>';
    }
        
  // HTML e-mail formlier
  echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
  <p class="small">
  
      Name:<br />
      <input class="small" type="text" id="naam" name="naam" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />
      
      E-mail:<br />
      <input class="small" type="text" id="mail" name="mail" value="' . (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br />
      
      Subject:<br />
      <input class="small" type="text" id="onderwerp" name="onderwerp" value="' . (isset($_POST['onderwerp']) ? htmlspecialchars($_POST['onderwerp']) : '') . '" /><br />
      
      <label for="bericht" class="small">Message:</label><br />
      <textarea id="bericht" name="bericht" rows="8" style="width: 285px;">' . (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br />
    </p>  
      <input class="btn" type="submit" name="submit" value=" Send " />
  
  </form>';
}
// versturen naar
else
{      
  // set datum
  $datum = date('d/m/Y H:i:s');
    
  $inhoud_mail = "===================================================\n";
  $inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n\n";
  $inhoud_mail .= "===================================================\n\n";
  
  $inhoud_mail .= "Name: " . htmlspecialchars($_POST['naam']) . "\n";
  $inhoud_mail .= "E-mail: " . htmlspecialchars($_POST['mail']) . "\n";
  $inhoud_mail .= "Message:\n";
  $inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";
    
  $inhoud_mail .= "Sent on " . $datum . " by IP " . $_SERVER['REMOTE_ADDR'] . "\n\n";
    
  $inhoud_mail .= "===================================================\n\n";
  
  // --------------------
  // spambot protectie
  // ------
  // van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
  // ------
  
  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';
  
  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
  {
      // zorg ervoor dat dezelfde persoon niet kan spammen
      $_SESSION['antiflood'] = time();
      
      echo '<p class="small"><b>Contactform is sent</b></p>
      
      <p class="small">Thanks for filling in our contact form. We will contact you as soon as possible.</p>';
  }
  else
  {
      echo '<p class="small"><b>Contactform is NOT sent</b></p>
      
      <p><b>We apologize.</b> The contact form could not be sent.</p>';
  }
}
?></p></blockquote>         
        
      </div>
    </section>
  </header>

</body>
</html>

Ondanks de checks kun je gewoon lege mail krijgen

[ Voor 85% gewijzigd door RobbyTown op 28-08-2015 15:28 ]

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • 0 Henk 'm!

  • diefightdie
  • Registratie: Januari 2012
  • Laatst online: 12-10 21:30
--na dubbel check ondervonden dat dit neits oplost--

[ Voor 88% gewijzigd door diefightdie op 28-08-2015 15:27 ]


Acties:
  • 0 Henk 'm!

  • Krilo_89
  • Registratie: September 2012
  • Laatst online: 20:31
diefightdie schreef op vrijdag 28 augustus 2015 @ 15:25:
[...]


Kan nog makkelijker door dit:
'../style.css' ipv 'style.css'
Dat werkt dan weer alleen op index.php/ en wanneer je op de normale site bent, klopt er weer niets van. Of je moet gaan if elsen.

Heb je ook al wat met .htacces gedaan?

Acties:
  • 0 Henk 'm!

  • Mr_DD
  • Registratie: Maart 2002
  • Laatst online: 02-07-2023
RobbyTown schreef op vrijdag 28 augustus 2015 @ 15:24:
[...]

Dat klopt. Maar dan zit ik nog met een klein beveiligings-probleem. Via webdev tool in firefox kun je dan faken en omzeil je de checks (als het een contact form is)
Kun je dit toelichten? Ik zie niet wat je precies bedoelt. Wat moet je dan doen en wat wordt er dan omzeild?

Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Krilo_89 schreef op vrijdag 28 augustus 2015 @ 15:27:
[...]


Dat werkt dan weer alleen op index.php/ en wanneer je op de normale site bent, klopt er weer niets van. Of je moet gaan if elsen.

Heb je ook al wat met .htacces gedaan?
code:
1
2
3
4
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]


Vang alles af alleen index.php/ blijft ook werken :F

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Mr_DD schreef op vrijdag 28 augustus 2015 @ 15:33:
[quote]RobbyTown schreef op vrijdag 28 augustus 2015 @ 15:24:
[...]

Dat klopt. Maar dan zit ik nog met een klein beveiligings-probleem. Via webdev tool in firefox kun je dan faken en omzeil je de checks (als het een contact form is)
[\qoute]

Kun je dit toelichten? Ik zie niet wat je precies bedoelt. Wat moet je dan doen en wat wordt er dan omzeild?
http://i.imgur.com/LobjB6Y.png

Als ik bij dat gele wat dan ook invul komt mail gewoon aan. Helemaal leeg alleen ip is ingevuld

Spambots zijn al redelijk actief bezig...

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:09

Creepy

Tactical Espionage Splatterer

Als je dat hele stukje uit je config weg haalt, dan werkt alleen "http://<domeinnaam>/index.php" en "http://domeinnaam" en "http://domeinnaam/"

Dat is toch wat je wil?

Edit: Ow, en pas je posts aub aan als je wat hebt toe te voegen, i.p.v. meerdere posts onder elkaar te maken :)

[ Voor 26% gewijzigd door Creepy op 28-08-2015 15:39 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Creepy schreef op vrijdag 28 augustus 2015 @ 15:38:
Als je dat hele stukje uit je config weg haalt, dan werkt alleen "http://<domeinnaam>/index.php" en "http://domeinnaam" en "http://domeinnaam/"

Dat is toch wat je wil?
Wil 2 dingen

1) index.php/ terug valt naar hoofddomein
2) Dat script geen mail kan verzenden als je via een 'achterdeur' het script verwerkt. Script checkt op alle velden toch kun je mailen als je het lek weet.

@Creepy betreft edit kon mijn eerste post niet meer bewerken. Maar de rest nu wel zie ik. Denk omdat jij mijn post hebt bewerkt. 8)7

[ Voor 12% gewijzigd door RobbyTown op 28-08-2015 15:42 ]

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • +1 Henk 'm!

  • Krilo_89
  • Registratie: September 2012
  • Laatst online: 20:31
code:
1
2
3
4
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L]


Onderaan je index.php regel houden, zodat alles daarheen wordt verwezen. Maar je moet met htacces toch wel kunnen regelen dat index.php/ naar index.php verwezen wordt? (stukje code is niet getest)

Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 21:30
RobbyTown schreef op vrijdag 28 augustus 2015 @ 15:41:
[...]

Wil 2 dingen

1) index.php/ terug valt naar hoofddomein
2) Dat script geen mail kan verzenden als je via een 'achterdeur' het script verwerkt. Script checkt op alle velden toch kun je mailen als je het lek weet.
Voor nummer 1 kan je toch gewoon redirecten? En voor nummer 2 moet je dan een token gebruiken die je checkt tijdens de POST call. Dan moet een persoon letterlijk naar de pagina, de token die je meegeeft bij het klikken op de submit-button moet gelijk zijn aan de token in je backend en dan verstuur je je mail.

Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Merethil schreef op vrijdag 28 augustus 2015 @ 15:43:
[...]


Voor nummer 1 kan je toch gewoon redirecten? En voor nummer 2 moet je dan een token gebruiken die je checkt tijdens de POST call. Dan moet een persoon letterlijk naar de pagina, de token die je meegeeft bij het klikken op de submit-button moet gelijk zijn aan de token in je backend en dan verstuur je je mail.
1 is gefixt met code van krilo

2) https://css-tricks.com/serious-form-security/ hier kom ik wel verder mee denk ik.

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • 0 Henk 'm!

  • Krilo_89
  • Registratie: September 2012
  • Laatst online: 20:31
RobbyTown schreef op vrijdag 28 augustus 2015 @ 15:50:
[...]

1 is gefixt met code van krilo

2) https://css-tricks.com/serious-form-security/ hier kom ik wel verder mee denk ik.
Super!

Wanneer alles werkt zoals je wilt, wil je dan nog een keer je code posten? Dan kunnen anderen (en ik) even kijken wat je precies bedoeld met de veiligheid. :)

Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
Krilo_89 schreef op vrijdag 28 augustus 2015 @ 15:53:
[...]


Super!

Wanneer alles werkt zoals je wilt, wil je dan nog een keer je code posten? Dan kunnen anderen (en ik) even kijken wat je precies bedoeld met de veiligheid. :)
Zie script wat ik post en dan kijken naar de checks. Ik kan alles checken nog kun je form verzenden zonder iets in te vullen. Pas dit aan http://i.imgur.com/LobjB6Y.png (wat geel is gemarkeerd, webdev toolbar van firefox) in HEAD en je ontvangt een leeg contact form. Dus een spambotje kan dit doen (had last van lege mails ondanks de checks)

Ik dacht eerst index.php/ de oorzaak was (los van de layout word gesloopt) maar via index.php lukt het ook gewoon om een leeg contact form te verzenden :F .

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


Acties:
  • 0 Henk 'm!

  • Krilo_89
  • Registratie: September 2012
  • Laatst online: 20:31
Maar als alle velden leeg zijn, dan stuur je toch gewoon geen mail?
Een captcha is niet iets dat je wilt om spam te voorkomen?

Acties:
  • 0 Henk 'm!

  • RobbyTown
  • Registratie: April 2007
  • Niet online
In mijn script heb ik zelfs anti spam zitten op tijd. Dan nog is het te omzeilen.

Probleem is mijn geposte script doet de afhandeling fout. De code doet checks op naam, email, post of get, lengte bericht, die checks werken ook prima, dus er kan geen mail weg zou je zeggen. Maar toch kunnen er lege mails worden verzonden.

Het koste even tijd om het te vinden om het voorelkaar te krijgen.

Geen idee als hosting hebt. Zo ja en mocht je tijd hebben. Kopieer stuk code zet het online test het. Via normale weg zie je dat checks werken. Stuur link waar het script staat via pm ik kan jou lege mails versturen ;).

Blog - Glasnet status (privé log) - Nette LAN - RIPE Atlas Probe


  • nino-3
  • Registratie: Maart 2010
  • Laatst online: 31-07-2020
Je kunt ook regel 93 veranderen in
PHP:
93
elseif ($_SERVER['REQUEST_METHOD'] == 'POST')


Maar de logica in je script is sowieso erg raar, heb je dat zelf zo verzonnen?

Acties:
  • 0 Henk 'm!

  • lauwsa
  • Registratie: Juli 2010
  • Laatst online: 10-09 20:43
nino-3 schreef op donderdag 03 september 2015 @ 19:52:
Maar de logica in je script is sowieso erg raar, heb je dat zelf zo verzonnen?
Na één zoekopdracht: http://www.phphulp.nl/php...contactformulierphp/1419/

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 07-10 16:34
Deze functionaliteit in Apache komt uit mod_negotiation
Als je dit niet wilt heb je alleen een .htaccess bestand nodig om het uit te zetten;
code:
1
Options -MultiViews

[ Voor 30% gewijzigd door frickY op 04-09-2015 08:28 ]


Acties:
  • 0 Henk 'm!

  • mookie
  • Registratie: Juni 2002
  • Laatst online: 15-06 08:37

mookie

Heerlijk Helder

betreffende dat security dingetje van hem waarbij hij een lege mail ontvangt, lees ik het als volgt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['bericht']) || !empty($bericht_fout) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    blah blah blah....
}
// versturen naar
else
{      
  // set datum
  $datum = date('d/m/Y H:i:s');
  bla bla bla.....
  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
}
?>


if (($_SERVER['REQUEST_METHOD'] == 'POST' && ... hier stopt het al als iemand de pagina via een GET ophaalt. Dan schiet hij meteen door naar die else en daarin worden fijn alle verplichte velden alsnog ingevuld (een FROM en een BODY) en de rest is dan leeg. In het algemeen vind ik dit weinig hele script nogal omslachtig geschreven en het voldoet dus blijkbaar ook niet. De meest simpele oplossing hierin zou al zijn om te checken op if ($_SERVER['REQUEST_METHOD'] == 'GET') en dan gelijk een foutmelding te dumpen en het script te beindigen met exit zodat het niet via een GET aangeroepen kan worden.

mookie


Acties:
  • 0 Henk 'm!

  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 12-10 00:11
mookie schreef op zondag 06 september 2015 @ 21:03:
betreffende dat security dingetje van hem waarbij hij een lege mail ontvangt, lees ik het als volgt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['mail']) || !empty($email_fout) || empty($_POST['bericht']) || !empty($bericht_fout) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    blah blah blah....
}
// versturen naar
else
{      
  // set datum
  $datum = date('d/m/Y H:i:s');
  bla bla bla.....
  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
}
?>


if (($_SERVER['REQUEST_METHOD'] == 'POST' && ... hier stopt het al als iemand de pagina via een GET ophaalt. Dan schiet hij meteen door naar die else en daarin worden fijn alle verplichte velden alsnog ingevuld (een FROM en een BODY) en de rest is dan leeg. In het algemeen vind ik dit weinig hele script nogal omslachtig geschreven en het voldoet dus blijkbaar ook niet. De meest simpele oplossing hierin zou al zijn om te checken op if ($_SERVER['REQUEST_METHOD'] == 'GET') en dan gelijk een foutmelding te dumpen en het script te beindigen met exit zodat het niet via een GET aangeroepen kan worden.
Nog erger: bij post doet ie alle checks, maar bij get gaat ie gewoon de if in. Zie de laatste conditie. Het is ((post + checks) || get) ....

Daarom is het dus belangrijk je control flow overzichtelijk te houden ;-)
Pagina: 1