Door
Peter Overdam
op 17-11-2012 11:36
gewijzigd op 17-11-2012 18:06
4.626 views
Beste Mensen,
Ik ben momenteel bezig om mijn scripts te beveiligen tegen SQL injection en dit is is allemaal vrij nieuw voor mij, echter krijg ik telkens een fatal error en ik zie niet direct waar de fout zit. Ik krijg de volgende melding.
Fatal error: Call to undefined function mres() in /var/www/vhosts/7/125190/webspace/httpdocs/mijndomein.nl/modules/account/activate-account.php on line 17
Line 17 is hieronder afgebeeld:
<?php
$check_sql = "SELECT id, serial FROM companion WHERE id=". intval($_GET['id']) ." AND serial='". mres($_GET['serial']) ."' ";
?>
oke dan,
Het is niet echt een fout het is een notice (een waarschuwing)...
als je de:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
weg haalt is die ook weg maar het is niet netjes...
Maar laat hem voor nu nog maar even staan en probeer het eens zo:
<?php
echo '<pre>'.print_r($_GET, true).'<pre>';
// dit stukje weg halen of uit zetten als je hem online/'live' zet...
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Get the needed data
if( isset($_GET['id']) && isset($_GET['serial']) ):
$check_result = $mysqli->query('select id, serial from companion where id = '. intval($_GET['id']) .' and serial = '.$serial_data.' limit 1');
if( $check_result ):
// Cycle through results
while ( $row = $check_result->fetch_object() ):
echo '<pre>';
echo var_dump($row);
echo '</pre>';
endwhile;
endif;
$sql = 'update companion set active = 1 where id = '.(int)$_GET['id'].' limit 1';
$result = $mysqli->query($sql);
if ( $mysqli->affected_rows() == 1 ):
echo 'Uw account is geactiveerd';
else: // else als er niks is bijgewerkt in de database...
echo 'Er ging is verkeerd tijdens het updata van de database, probeer het opnieuw a.u.b';
endif;
else: // else als er iets verkeerds is met de activatie serial...
echo 'Verkeerde activatie gegevens, controleer de url in uw activatie mail.';
endif;
else: // else if het id en/of de serial zijn niet correct...
echo 'Een van de mee gegeven data is incorrect, controlleer uw invoer!.';
endif;
else: // else als er geen id of serial gevonden word...
echo 'Er is iets niet goed gegaan neem contact op met de webmaster';
endif;
Fatal error: Call to a member function execute() on a non-object in /var/www/vhosts/7/125190/webspace/httpdocs/mijndomein.nl/modules/account/activate-account.php on line 15
Fatal error: Call to a member function execute() on a non-object in /var/www/vhosts/7/125190/webspace/httpdocs/mijndomein.nl/modules/account/activate-account.php on line 15
Notice: Undefined variable: db in /var/www/vhosts/7/125190/webspace/httpdocs/mijdomein.nl/modules/account/activate-account.php on line 15
Fatal error: Call to a member function query() on a non-object in /var/www/vhosts/7/125190/webspace/httpdocs/mijndomein.nl/modules/account/activate-account.php on line 15
@Marco
Er staat zeker wat in de DB heb voor de zekerheid een nieuw accountje aangemaakt om te testen.
--
-- Tabel structuur voor tabel `companion`
--
CREATE TABLE IF NOT EXISTS `companion` (
`id` int(11) NOT NULL auto_increment,
`active` int(1) NOT NULL,
`ipadres` varchar(100) NOT NULL,
`password` varchar(2000) NOT NULL,
`serial` varchar(255) NOT NULL,
`gender` varchar(10) NOT NULL,
`stagename` varchar(100) NOT NULL,
`dateofbirth` varchar(100) NOT NULL,
`phonenumber` varchar(100) NOT NULL,
`emailadress` varchar(100) NOT NULL,
`website` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=91 ;
--
-- Gegevens worden uitgevoerd voor tabel `companion`
--