bug report fout in mysqli

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eeyk Vd noot

Eeyk Vd noot

26/02/2015 19:52:58
Quote Anchor link
ik heb een script die reageert als er een bug optreed op mijn website.
alleen ik blijf een fout houden die ik niet begrijp.

kan iemand mij helpen misschien?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
mysqli_query($dbcreat,"INSERT INTO `Gevonden_bugs` (
ipv4,
ipv6,
gebruikersnaam,
pagina_injectie,
injectie_opdracht
)values(
'"
.mysqli_real_escape_string($dbcreat,raw_ip())."',
'"
.mysqli_real_escape_string($dbcreat,binaryIP())."',
'"
.mysqli_real_escape_string($dbcreat,$data->login)."',
'"
.mysqli_real_escape_string($dbcreat,$bug_bestand)."',
'"
.mysqli_real_escape_string($dbcreat,$bug_string)."')");

Error_behandelen("<link href=\"css/style100.css\" rel=\"stylesheet\" type=\"text/css\" />
<table summary=\"buggevonden\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
<tr><td class=\"subtitle\">Error</td></tr>
<tr><td class=\"maintxt\">Er is een fout ondekt in uw opdracht het is waarschijnlijk niks ernstigst.</td></tr>
<tr><td class=\"subtitle\">&nbsp;</td></tr></table>"
);
bug_gevonden();
?>


dit zijn de fouten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home//domains/.nl/public_html/setup.php on line 132
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home//domains/.nl/public_html/setup.php on line 133
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home//domains/.nl/public_html/setup.php on line 134
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home//domains/.nl/public_html/setup.php on line 135
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home//domains/.nl/public_html/setup.php on line 136
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home//domains/.nl/public_html/setup.php on line 136
?>


Volgens de error is er geen sql connectie maar die is er wel, mijn database code werkt namelijk 40 lijnen lager gewoon wel.


mvg
Gewijzigd op 26/02/2015 20:10:20 door Eeyk Vd noot
 
PHP hulp

PHP hulp

25/12/2024 05:25:30
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2015 20:14:15
Quote Anchor link
Quote:
ik heb een script die reageert als er een bug optreed op mijn website.

En dat is een functie? Een error handler? Iets anders?

Quote:
Volgens de error is er geen sql connectie maar die is er wel, mijn database code werkt namelijk 40 lijnen lager gewoon wel.

Dan maak je dus ergens in die 40 regels pas een connectie. Je foutmelding treedt op nog voordat je een connectie hebt.
 
Eeyk Vd noot

Eeyk Vd noot

26/02/2015 20:19:21
Quote Anchor link
Tussen die 40 lijnen staat alleen lappen tekst geen connectie, de database connectie staat 100% er boven.
het is een vreemde fout.

Toevoeging op 26/02/2015 20:25:03:

misschien als ik een apparte db connectie maakt en dan na de functie.

mysqli_close(); gebruikt, misschien werkt dat.

nee dat werkt niet dit is trouwens een functie.
Gewijzigd op 26/02/2015 20:29:55 door Eeyk Vd noot
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2015 20:30:21
Quote Anchor link
Quote:
en dan na de functie

Als dit een functie is, dan kent deze de (globale) variabele $dbcreat niet.

Het lijkt erop dat je niet alle relevante code hebt geplaatst, wat analyse zo goed als onmogelijk maakt.
 
Eeyk Vd noot

Eeyk Vd noot

26/02/2015 20:41:38
Quote Anchor link
Het is opgelost,

bug_gevonden($dbcreat);

loste het op.
Gewijzigd op 26/02/2015 20:47:52 door Eeyk Vd noot
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2015 20:48:28
Quote Anchor link
Om mezelf maar te quoten:
Quote:
Als dit een functie is, dan kent deze de (globale) variabele $dbcreat niet.


Daarnaast is een blacklist (een lijst van niet-toegestane invoer) een slecht idee als beveiliging.

Als je namelijk een geval vergeet ben je genaaid.

Controleer (uitsluitend) op toegestane invoer.
 
Eeyk Vd noot

Eeyk Vd noot

26/02/2015 20:52:00
Quote Anchor link
Het is niet perse een blacklist.
Maar de website waar ik mee bezig ben is nog in Alpha fase en word getest.
als de website af is gaat de functie de prullenbak in. nu is het alleen zo dat ik weet waar er zwakkenpunten kunnen zitten.

Toevoeging op 26/02/2015 20:52:48:

thanks voor uw hulp ;)
Gewijzigd op 26/02/2015 20:52:27 door Eeyk Vd noot
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2015 20:55:33
Quote Anchor link
De insteek is gewoon verkeerd. Je moet niet controleren op de 235825230853892352502 dingen waar het niet gelijk aan mag zijn, je moet het controleren op wat het wel mag zijn. En als je het daarna wilt gaan gebruiken moet je het escapen in de escape-methode van die context.
 
- wes  -

- wes -

27/02/2015 09:58:58
Quote Anchor link
Met Thomas eens. Programmeer altijd uit een gedacht dat alles fout gaat, en als alles toevallig goed gaat dat je wat op je scherm ziet, MAAR check altijd of de gebruiker de paden bewandeld die jij hebt vastgesteld.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.