Ik hbe een paar fouten met mijn profielen site

Fatal error: Cannot redeclare opmaak() (previously declared in /usr/export/www/vhosts/funnetwork/hosting/crimie/forum/config.php:51) in /usr/export/www/vhosts/funnetwork/hosting/crimie/forum/config.php on line 51


Lijn 51:
function opmaak($bericht)



En:
 Fatal error: Cannot redeclare beveiliging() (previously declared in /usr/export/www/vhosts/funnetwork/hosting/crimie/include.php:50) in /usr/export/www/vhosts/funnetwork/hosting/crimie/include.php on line 50


Lijn 50: function beveiliging($soort){

wie kan me erbij helpen?


Nick,

Moderator edit: Titel aangepast 'fouten' is te algemeen als titel
Je definieert twee keer de functie opmaak(). Misschien door een dubbele include?
in include?
Misschien een stukkie code?
<?php include("./config.php");
?>
<?
$online_verval = time()-450; 

$ip = getenv("REMOTE_ADDR"); 
if($ip == "") { $ip = getenv("HTTP_X_FORWARDED_FOR"); } 

$time = time(); 

mysql_query("DELETE FROM online WHERE datum < '$online_verval'"); 

if ($_COOKIE["gebruikersnaam"] != "" AND $_COOKIE[memberid] != ""){  
    $sql = mysql_query("SELECT * FROM online WHERE memberid='" . $_COOKIE[memberid] . "' AND gebruikersnaam='" . $_COOKIE[gebruikersnaam] . "'"); 
    $sql2 = "memberid='" . $_COOKIE[memberid] . "', gebruikersnaam='" . $_COOKIE[gebruikersnaam] . "', ip='$ip'"; 
    $sql3 = "memberid='" . $_COOKIE[memberid] . "' AND gebruikersnaam='" . $_COOKIE[gebruikersnaam] . "'"; 
} else {    
    $sql = mysql_query("SELECT * FROM online WHERE ip='$ip' AND memberid='0'"); 
    $sql2 = "memberid='0', ip='$ip'"; 
    $sql3 = "memberid='0' AND ip='$ip'"; 
} 

if(mysql_num_rows($sql) == 0) { 
    mysql_query("INSERT INTO online SET $sql2, datum='$time', datum_start='$time'"); 
} elseif(mysql_num_rows($sql) != 0) { 
    mysql_query("UPDATE online SET datum='$time' WHERE $sql3"); 
} 

if ($_COOKIE["gebruikersnaam"] == "" AND $_COOKIE["memberid"] == ""){   
	$select = "SELECT * FROM ban WHERE ip = '" . $ip . "'";
	$query = mysql_query($select);
	if(mysql_num_rows($query) == 1){
		$verbannen = 1;
	}
}
else {
	$select = "SELECT status FROM leden WHERE gebruikersnaam = '" . $_COOKIE[gebruikersnaam] . "'";
	$query = mysql_query($select);
	$list = mysql_fetch_array($query);
	if($list[status] == "Verbannen"){
		$verbannen = 1;
		$update = "UPDATE ban SET ip='" . $ip . "'";
		$query = mysql_query($update);
	}
}
if($verbannen == 1){
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=http://www.VIP-Webhosting.nl'>";
}
	
function beveiliging($soort){  
global $_COOKIE; 
global $linkurl;
if ($_COOKIE["gebruikersnaam"] == "" AND $_COOKIE["memberid"] == "" AND $_COOKIE["hash"] == ""){   
    // Niet ingelogd dus alleen toegang tot iedereen 
    if($soort == "Iedereen"){    
        $toegang = 1;   
    }    
    else {   
        $toegang = 0;   
    }   
}   
else {   
    if($soort == "Webmaster"){   
        $query = mysql_query('SELECT status FROM leden WHERE gebruikersnaam="' . $_COOKIE['gebruikersnaam'] . '" AND id="' . $_COOKIE['memberid'] . '" AND wachtwoord="' . $_COOKIE[hash] . '" AND status="Webmaster" AND activatie="1"');   
        $aantal = mysql_num_rows($query);    
        if($aantal != 1){   
            $toegang = 0;   
        }   
        else {   
            $toegang = 1;   
        }   
    }   
    elseif($soort == "Super Moderator"){   
        $query = mysql_query('SELECT status FROM leden WHERE gebruikersnaam="' . $_COOKIE['gebruikersnaam'] . '" AND id="' . $_COOKIE['memberid'] . '" AND wachtwoord="' . $_COOKIE[hash] . '" AND (status="Webmaster" OR status="Super Moderator" OR status="Moderator") AND activatie="1"');         
        $aantal = mysql_num_rows($query);    
        if($aantal != 1){   
            $toegang = 0;   
        }   
        else {   
            $toegang = 1;   
        }   
    } 
    elseif($soort == "Moderator"){   
        $query = mysql_query('SELECT status FROM leden WHERE gebruikersnaam="' . $_COOKIE['gebruikersnaam'] . '" AND id="' . $_COOKIE['memberid'] . '" AND wachtwoord="' . $_COOKIE[hash] . '" AND (status="Webmaster" OR status="Moderator") AND activatie="1"');       
        $aantal = mysql_num_rows($query);    
        if($aantal != 1){   
            $toegang = 0;   
        }   
        else {   
            $toegang = 1;   
        }   
    }   
	elseif($soort == "Super Lid"){   
        $query = mysql_query('SELECT id FROM leden WHERE gebruikersnaam="' . $_COOKIE['gebruikersnaam'] . '" AND id="' . $_COOKIE['memberid'] . '" AND wachtwoord="' . $_COOKIE[hash] . '" AND activatie="1"');    
        $aantal = mysql_num_rows($query);    
        if($aantal != 1){   
            $toegang = 0;   
        }   
        else {   
            $toegang = 1;   
        }   
    } 
    elseif($soort == "Lid"){   
        $query = mysql_query('SELECT id FROM leden WHERE gebruikersnaam="' . $_COOKIE['gebruikersnaam'] . '" AND id="' . $_COOKIE['memberid'] . '" AND wachtwoord="' . $_COOKIE[hash] . '" AND activatie="1"');               
        $aantal = mysql_num_rows($query);    
        if($aantal != 1){   
            $toegang = 0;   
        }   
        else {   
            $toegang = 1;   
        }   
    }   
    else {   
    if($soort == "Iedereen" OR !isset($soort)){   
        $toegang = 1;   
    }   
}   
}  
if($toegang == 0){
	echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=fout.php'>";
}
} 
?>
Leuk zo'n stukje script, maar hier ontstaat de foutmelding in elk geval niet. Je doet hier nergens wat met de functie opmaak(), dat kan dus ook niet fout gaan.

Ps. Je hebt iets teveel vertrouwen in je script, de database en de buitenwereld. Het niveau van de foutafhandeling is erg laag... Script is eenvoudig te hacken.
in wat dan?
1) Iedereen kan zelf cookies aanmaken en/of wijzigen
2) Met cookies kun je SQL-injection uitvoeren
3) Jij beveiligt userinput helemaal nergens met mysql_real_escape_string()
4) Jij controleert nergens of queries wel zijn gelukt
5) jij controleert nergens of queries wel het gewenste resultaat hebben opgeleverd. Een DELETE of UPDATE kan prima worden uitgevoerd zonder dat er ook maar 1 record wordt verwijderd of wordt bijgewerkt. mysql_affected_rows() vertelt je hoeveel records er zijn geraakt.
6) Een inlogsysteem met cookies is zo lek als een mandje.
Ja maar hier schiet ik niks mee op??? die fout moet weg?
Kunnen jullie helpen ik heb nu geen tijd om hem te helpen ik zit nu met een gastenboek voor me neus en Jurgen zegt het ook al

Reageren