veiligheid in een bestands beheer systeem

Status
Niet open voor verdere reacties.

flee12

Gebruiker
Lid geworden
4 sep 2007
Berichten
41
Goeden avond:
Ik bewerk een bestands systeem beheer script.
Mijn grote vraag is nu: als iemand nu niet gewoon door een andere adress in de adressbalk een deleteopdracht (zoals ...index.php?deletefile=beheer/fr&dir=1&fil...) op te geven iets anders dan zijn map kan wissen ,ben ik dan veilig bezig?
Dit heb ik met controlle functies uitgesloten.

Maar is er ook nog een andere manier dan iets in de adressbalk te zetten?
 
Goeden avond:
Ik bewerk een bestands systeem beheer script.
Mijn grote vraag is nu: als iemand nu niet gewoon door een andere adress in de adressbalk een deleteopdracht (zoals ...index.php?deletefile=beheer/fr&dir=1&fil...) op te geven iets anders dan zijn map kan wissen ,ben ik dan veilig bezig?
Dit heb ik met controlle functies uitgesloten.

Maar is er ook nog een andere manier dan iets in de adressbalk te zetten?
eum heel simpel gezegd nee ! zorgd teneerste dat je konstant de login gegevens van de gebruiker controleers met session data in een database en/of cookies !
dan is het een stuk veiliger :D
 
bedankt voor jou reactie.

er moet zich eerst een gebruiker aanmelden,voordat hij
toegang krijgt tot zijn map.
dus hoop ik nu dat ( hij kan dus echt alleen in zijn map deleten) dat het veilig is.
ik post wel even de hele script,wie weet wil iemand het geheel zien.
het werkt helemaal tot behoren, niet helemaal door mij gemaakt.
ik zelf heb ervoor gezorgd, dat het pad afhankelijk is van de ingeloggde gebruiker en dat antidelete
gedoe, als je iets anders dan je map wilt deleten.

PHP:
<? include ('safe.php') ;?>
<?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=iso-8859-1" />
 <title>filemanager</title>
 <script src="popup.js" type="text/javascript"></script>
 <script src="prototype.js"></script>
 <script>
  function open_win(adres)
   {window.open(adres,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=800, height=580")}
    function getHTML(p_url, p_pars,cont){
        var url = ''+p_url+'';
        var pars = ''+p_pars+'';
        var myAjax = new Ajax.Updater(''+cont+'',url,{method: 'get',parameters: pars});
        window.focus();
    }

 </script>
 <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<pre><?php print_r ($_GET);?></pre>



    <div style="color:black; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 14px;"><a href="uitloggen.php" title="uitloggen">uitloggen</a></div><br />
  
<?php
if(isset($_POST['submit'])) {
   // Inloggen
   $sql = "SELECT id,naam,wachtwoord,status,actief FROM gebruikers WHERE naam='".$_POST['user']."'";
   $query = mysql_query($sql);
   $rij = mysql_fetch_object($query);
   $dbpass = htmlspecialchars($rij->wachtwoord);
   $userpass = md5($_POST['pass']);
   $userid = htmlspecialchars($rij->id);
   $userstatus = htmlspecialchars($rij->status);
   $useractief = htmlspecialchars($rij->actief);
   if($dbpass == $userpass) {
    $_POST['user']=$user;
    $_SESSION['user'] = $user;
    $_SESSION['useractief'] = $useractief;
    $_SESSION['user_status'] = $userstatus;
    if($useractief == 1) {
    $_SESSION['user_id'] = $userid;
     
     if($_POST['cookie'] == "do") {
      setcookie("user_id", $userid, time() + 365 * 86400);
      setcookie("user_password", $dbpass, time() + 365 * 86400);
     }
     }
     }
}
     
   

   ?>  


<?php
################Config###################
include("config2.php");
include("config.php");

#########################################
echo '<div style="color:black; font-family: Verdana, Arial, Helvetica, sans-serif;">Gebruiker:'." ".$_SESSION['user'].'</div><br />';
//**
// Root directory uit de config.php wordt nu door gegeven naar de $_SESSION global.
if($_SESSION['user_status'] == 1) {

  echo  '<div style="color:red; font-family: Verdana, Arial, Helvetica, sans-serif;"><a href="admin.php" title="">Admin</a></div><br />';

$_SESSION['mainfiledir']                            = 'beheer';
$_SESSION['filedir']                                = 'beheer';


 }   else {



$_SESSION['mainfiledir']                            = 'beheer/'.$_SESSION['user'];
$_SESSION['filedir']                                = 'beheer/'.$_SESSION['user'];

}
//**
// Controle of er al een subdirectory gedefineerd is. 
// Zo ja dan wordt deze toegevoegd aan $_SESSION['filedir'].
If (isset($_GET['filedir']) AND !empty($_GET['filedir'])){  // Controle of GET['filedir'] bestaat 

    $_SESSION['getdir'] = $_GET['filedir'];
    $_SESSION['filedir']= $_SESSION['mainfiledir'].$_GET['filedir'];
    if (isset($_GET['uploaddir'])){
        $_SESSION['getdir'] = $_GET['uploaddir'];
    }
//**
// Als er geen sub directory gedefineerd is zal de variable $_SESSION['getdir'] gevuld worden met een lege sting.
// deze moet gedefineerd zijn anders een error.
}else{
    $_SESSION['getdir'] = $_SESSION['user'].'/';
     $_SESSION['getdir'] = $_GET['uploaddir'];
}

//** 
// Functie voor het gemak. Bij elke popup bericht wordt er wel een icon gebruikt.
// voor de leesbaarheid en de beheerbaarheid hier in een functie.. 
function alertIcon($icon){
    return '<img src="'.$_SESSION['fileicons'].$icon.'" width="16" height="16" 
            border="0" alt="alert"" style="margin-bottom:-2px;">';
}

//**
// Maakt lijst met van de opgegeven directory
function GetFileType($file){

// Is het een directory?
    if(is_dir($_SESSION['filedir'].$file)) {
       $FileInfo[]= "folder.png";
       $FileInfo[]= "Directory";
    } else {
// of is het een bestand?
// onderstaande statement geeft de eerste waarden na de punt van een bestandsnaam. De Extentsie
    $FileExtensie = strstr($file, ".") ? strtolower(substr($file, 1+strrpos($file, "."))) : '';

// Controleerd of extentie bekend is anders default.
    $FileInfo = isset($GLOBALS['FileTypes'][$FileExtensie]) ? $GLOBALS['FileTypes'][$FileExtensie] : $GLOBALS['FileTypes']['default'];
if (empty($FileExtensie)){
    $FileInfo =  isset($GLOBALS['FileTypes'][$FileExtensie]) ? $GLOBALS['FileTypes'][$FileExtensie] : $GLOBALS['FileTypes']['folder'];
}


    }
    return $FileInfo;
}


//**
// Wijzigd de notatie van de bestands grote. 
function FormatBytes($size) {
    if ($size >= 1048576) {
        $mbsize = round($size/1048576,0);
        return $mbsize." MB";
    }
    elseif ($size >= 1024) { 
        $kbsize = round($size/1024,0);
        return $kbsize." KB";
    }
    else {
        return $size." bytes";
    }
}

//**
// Weer functie voor leesbaarheid. main wordt link
// Zoals de naam al zegt :o)
function setDirLink($file){
if ($_SESSION['getdir'] == $_SESSION['user'].'')  {
    $Html ='<a href="'.$_SERVER['PHP_SELF'].'?filedir=/'.$file.'/">'.$file.'</a>';
    return $Html;
}else {
$Html ='<a href="'.$_SERVER['PHP_SELF'].'?filedir='.$_SESSION['getdir'].'/'.$file.'">'.$file.'</a>';
    return $Html;}
}

function randomkeys(){
    $length = 5;
    $number ='';
        for($i=0;$i<$length;$i++){
            $number .= rand(0,9);
        }
    return $number;
}

//**
// Bepaling waar de hyperlink naar moet verwijzen. 
// Hier wordt bepaald welke bestanden door welke viewer worden geopend.
function setFileLink($file){
// Codeviewer extenties
    $CodeFile = array('php','css','html','htm','sql','js','txt','doc','rtf');
    $FileExtensie = strstr($file, ".") ? strtolower(substr($file, 1+strrpos($file, "."))) : '';
// als de extenstie voorkomt in $Codelist  zal er een link naar de codeviewer gedefineerd worden 
    
    if (in_array($FileExtensie , $CodeFile)){
        $ContainerId = randomkeys();
        $Html ='<a class="fileinfo" onMouseOver="getHTML(\'fileinfo.php\',\'filename='.$file.'\',\''.$ContainerId.'\');"  href="javascript:onclick=open_win(\'viewfile.php?file='.$file.'\')" >'.$file.'<b id="'.$ContainerId.'"></b></a>';
        
    }else{
// Default geen link.
        $Html =$file;
    }
    return $Html;
}

//**
// Functie voor leesbaarheid.Zoals naam als vertelt ....
function getIcon($icon){
    $Html ='<img src="'.$_SESSION['fileicons'].$icon.'" border="0"/>';
    return $Html;
}

//**
// algemene navigatie. boven links
function Navi(){

// Het opgegeven pad wordt opgesplits. 
// En dan wordt er van elke directory een link gemaakt



    $dir=explode('/',str_replace($_SESSION['filedir'],"",$_SESSION['getdir']));
    $count = count($dir) -1;
// hier wordt de variable $dir_ gedefineerd. Deze zal op gevuld worden in de foreach-lus.
    $dir_ = '';
// Root directory link 'main'


   $Html = '<div class="FileNavi"><a href="'.$_SERVER['PHP_SELF'].'">Main</a>  ';

    foreach($dir AS $key =>$value){

        if (!($_SESSION['mainfiledir'] == $value )){


            
            if (!empty($value)){
                $dir_ .= '/'.$value;
                if ($count != $key){
// Subdirectory's 
                $Html.= '<a href="'.$_SERVER['PHP_SELF'].'?filedir='.$dir_.'">/'.$value.'</a>  ';
                }else{
// Anders een schuinstreepje voor de moeite. 
                $Html.= '/'.$value;
                }
            }
        }
    }
    $Html .= '</div>';
    return  $Html;
}


if(!empty($_POST['newdir'])){
    if (@mkdir ($_POST['dir'].'/'.$_POST['newdir'], 0777)){
    }else{
        $msg['text'] ='<img src="'.$_SESSION['fileicons'].'cancel.png" width="16" height="16" border="0" alt="cancel"">Er is een fout opgetreden bij het aanmaken van de nieuwe map.<br / >Geen rechten!<br /><a href="?filedir='. $_POST['getdir'].'">Klik hier om terug te gaan. </a>';
        $msg['title']=alertIcon("help.png").'Fout bij uitvoeren';
    }
}

if (isset($_GET['deletefile']) AND isset($_GET['dir']) AND !isset($_GET['ok'])) {

    $msg['text'] = 'Weet je zeker dat '.$_GET['filename'].'<br /> en de inhoud wilt verijderen?<br /><a href="'.$_SERVER['PHP_SELF'].'?deletefile='.$_GET['deletefile'].'&dir=1&ok=1&filedir='.$_SESSION['getdir'].'&filename='.$_GET['filename'].'"> Ja</a> / <a onclick="closepopup();" href="?filedir='.$_SESSION['getdir'].'" title="Venster sluiten" > Nee</a>';
    $msg['title']=alertIcon("help.png").'Bevestig'; 

}elseif
 (isset($_GET['deletefile']) AND isset($_GET['dir']) AND $_GET['ok']=='1') {

function deleteDirectory($dirname,$only_empty=false) {
    if (!is_dir($dirname))
        return false;

    $dscan = array(realpath($dirname));
    $darr = array();
    while (!empty($dscan)) {
        $dcur = array_pop($dscan);
        $darr[] = $dcur;
        if ($d=opendir($dcur)) {
           while ($f=readdir($d)) {
               if ($f=='.' || $f=='..')
                   continue;
               $f=$dcur.'/'.$f;
               if (is_dir($f))
                   $dscan[] = $f;
               else
                   unlink($f);
           }
           closedir($d);
        }
    }

// nu gaan we kijken of de ingeloggde gebruiker niet probeerd iemand anders zijn map te wissen
$array = explode('/',$_GET['deletefile']);
$aantal = count($array);

for($i = 0; $i < $aantal; $i++){
$dir = $array[$i];
if ($_SESSION['user'] == $dir)    {
                                    
 
echo $dir.'<br/>';
echo 'teller:'.$teller.'<br>';
echo 'aantal:'.$aantal.'<br><br>';

    $i_until = ($only_empty)? 1 : 0;
        for ($i=count($darr)-1; $i>=$i_until; $i--)       {

            if (rmdir($darr[$i]))                                   {

?><html><script language="Javascript" type="text/javascript">
      location.href=$_SESSION['getdir'];
     </script></html><?php
                                                           }


                                                                      
                                                                     }
break;                         }else
{
$teller = 3;
while ($teller < $aantal)
  {

 
  $teller++;


}
if (($_SESSION['user'] != $dir) AND ($teller!=$aantal) )           {
echo 'niet doen <br/>';
echo 'teller:'.$teller.'<br>';
echo 'aantal:'.$aantal.'<br>';
$teller = 0;
break;

   }
}

//////einde gebruikerstest

                                                                               }
    return $return;
    }
    $msg = deleteDirectory($_GET['deletefile']);
            
} else{

    if (isset($_GET['deletefile'])){


        $msg['text'] = ' Weet je zeker dat <br /> '.$_GET['filename'].'<br /> wilt verijderen? <a href="'.$_SERVER['PHP_SELF'].'?deletefile='.$_GET['deletefile'].'&ok=1&filedir='.$_SESSION['getdir'].'&filename='.$_GET['filename'].'"><br />Ja</a> / <a onclick="closepopup();" href="?filedir='.$_SESSION['getdir'].'" title="Venster sluiten" >Nee';
        $msg['title']= alertIcon("help.png").'Bestand verwijderen';
    }if (isset($_GET['deletefile']) AND isset($_GET['ok']) AND $_GET['ok']== '1'){
      
        if(unlink($_GET['deletefile'])){
?><html><script language="Javascript" type="text/javascript">
      location.href=$_SESSION['getdir'];
     </script></html><?
            $msg['text'] = 'Het bestand ['.$_GET['filename'].']<br /> is met succes verwijdert van de server.<br /><a onclick="closepopup();" href="?filedir='.$_SESSION['getdir'].'" title="Venster sluiten" ><br /><img src="'.$_SESSION['fileicons'].'tick.png" width="16" height="16" border="0" alt="Succes""> OK </a>';
            $msg['title']=alertIcon("information.png").'Bestand verwijderen';
            }else{
            $msg['text'] = '<img src="'.$_SESSION['fileicons'].'cancel.png" width="16" height="16" border="0" alt="four""><a onclick="closepopup();" href="?filedir='.$_SESSION['getdir'].'" title="Venster sluiten" >Het bestand ['.$_GET['filename'].'] kon niet verwijderdt worden van de server!</a>';
            $msg['title']= alertIcon("exclamation.png").'Fout bij verwijderen';
            }
    }
}

 if (isset($_GET['renamefile']) AND isset($_GET['filepath']) AND !isset($_GET['ok'])){
        $msg['text'] = '<FORM METHOD="post" ACTION="'.$_SERVER['PHP_SELF'].'?renamefile='.$_GET['renamefile'].'&ok=1&filepath='.$_GET['filepath'].'&filedir='.$_SESSION['getdir'].'"><INPUT TYPE="text" NAME="filename" SIZE="20" MAXLENGTH="30" value="'.$_GET['renamefile'].'"><input type="hidden" name="file"value="'.$_GET['filepath'].'"><input type="hidden" name="oldfile" value="'.$_GET['renamefile'].'"><input type="submit" name="Ok" value="Ok"</FORM><br />';
        
        $msg['title']=alertIcon("help.png").'Geef nieuw bestandsnaam op';

    }
        if (isset($_POST['filename']) AND isset($_GET['ok']) AND isset($_GET['filepath'])){
            
           
            if(rename($_SESSION['filedir'].'/'.$_POST['oldfile'],$_SESSION['filedir'].'/'.$_POST['filename'] )) {

                $msg['text'] = $_POST['oldfile'].' <br /> Naar :<br />'.$_POST['filename'].'<a onclick="closepopup();" href="?filedir='.$_SESSION['getdir'].'" title="Venster sluiten" ><br />'.alertIcon("tick.png").'OK </a>' ;
                $msg['title']=alertIcon("information.png").'Bestand hernoemd';
                }else{
                    $msg['text'] = 'Het bestand ['.$_POST['oldfile'].'] kan niet gewijzigt worden!<a onclick="closepopup();" href="?filedir='.$_SESSION['getdir'].'" title="Venster sluiten" ><br />'.alertIcon("cancel.png").'OK </a>' ;
                    $msg['title']= alertIcon("exclamation.png").'Fout bij het hernoemen'.$_SESSION['filedir'];
                }

        }


if(!empty($_POST['upload'])) {
    $uploaddir = $_POST['dir'].'/';
    $uploadfile = $uploaddir . $_FILES['upfile']['name'];
    if(move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)){
        $msg['text'] = '<img src="'.$_SESSION['fileicons'].'tick.png" width="16" height="16" border="0" alt="Succes""><a href="javascript:closepopup();" title="Venster sluiten" >Het bestand ['.$_FILES['upfile']['name'].'] is met succes naar de server verstuurd</a>';
        $msg['title']=alertIcon("information.png").'Uploaded naar directory';
    }else{
        $msg['text'] = '<img src="'.$_SESSION['fileicons'].'cancel.png" width="16" height="16" border="0" alt="four""><a href="javascript:closepopup();" title="Venster sluiten" >Het bestand ['.$_FILES['upfile']['name'].'] kon niet verstuurd worden naar de server!</a>';
        $msg['title']= alertIcon("exclamation.png").'Fout bij het versturen';
    }
}

$Html = '';


if (!($_SESSION['filedir'] == $_SESSION['mainfiledir'])){

    $Html .= Navi();
    }else{
        $Html .= '<div class="FileNavi">Main/</div>'; 
        };
$Html .='<table width="100%" border="0" cellspacing="1" cellpadding="0" class="FileList">
 <tr  class="FileList FileListTop">
  <td style="border-bottom:solid 1px #666666; width:16px;">&nbsp;</td>
  <td style="border-bottom:solid 1px #666666; width:400px;">Naam</td>
  <td style="border-bottom:solid 1px #666666">Type</td>
  <td style="border-bottom:solid 1px #666666">Grote</td>
  <td style="border-bottom:solid 1px #666666; width:160px;">Gewijzigd op</td>';


  echo '<td style="border-bottom:solid 1px #666666">Opties</td>';


 $Html .='</tr >
 <tr>
  <td colspan="4">';

$Html .= '</td>
<td align="right">
</td>
';

if ($dir = @opendir($_SESSION['filedir'])) {



  while (($file = readdir($dir)) !== false) {

    if($file != ".") {
        if ($file != "..") {
            if(is_dir($_SESSION['filedir'].'/'.$file)){


                $FileInfo = GetFileType($file);




                $Html .= '<tr onMouseOver="this.style.backgroundColor=\'#E8E8E8\'" onMouseOut="this.style.backgroundColor=\'#FFFFFF\'">';
                $Html .= '<td><img src="'.$_SESSION['fileicons'].''.$FileInfo[0].'" width="16" height="16" /></td>';
                $Html .= '<td>'.setDirLink($file).'</td>';
                $Html .= '<td>'.$FileInfo[1].'</td>';
                $Html .= '<td>--</td>';
                $Html .= '<td>'.date("d/m/Y H:i",filemtime($_SESSION['filedir'].'/'.$file)).'</td>';

                $Html .= '<td><a href="'.$_SERVER['PHP_SELF'].'?deletefile='.$_SESSION['filedir'].'/'.$file.'&dir=1&filedir='.$_SESSION['getdir'].'&filename='.$file.'" title="Delete '.$file.'"><img src="'.$_SESSION['fileicons'].'delete.png" width="16" height="16" border="0"/></a>';
                $Html .= '<a href="'.$_SERVER['PHP_SELF'].'?renamefile='.$file.'&filepath='.$_SESSION['filedir'].'&filedir='.$_SESSION['getdir'].'" title="Rename '.$file.'">
                <img src="'.$_SESSION['fileicons'].'textfield_rename.png" width="16" height="16" border="0"/></a>
                </td>';
                $Html .= '</tr>';
            }
        }
    }
  }
}
if ($dir = @opendir($_SESSION['filedir'])) {
  while (($file = readdir($dir)) !== false) {
     if(is_file($_SESSION['filedir'].'/'.$file)){

         $FileInfo = GetFileType($file);

         $Html .= '<tr onMouseOver="this.style.backgroundColor=\'#E8E8E8\'" onMouseOut="this.style.backgroundColor=\'#FFFFFF\'">';
         $Html .= '<td><img src="'.$_SESSION['fileicons'].''.$FileInfo[0].'" width="16" height="16" /></td>';
         $Html .= '<td>'.setFileLink($file).'</td>';
         $Html .= '<td>'.$FileInfo[1].'</td>';
         $Html .= '<td>'.FormatBytes(filesize($_SESSION['filedir'].'/'.$file)).'</td>';
         $Html .= '<td>'.date("d/m/Y H:i",filemtime($_SESSION['filedir'].'/'.$file)).'</td>';

        $Html .= '<td><a href="'.$_SERVER['PHP_SELF'].'?deletefile='.$_SESSION['filedir'].'/'.$file.'&filedir='.$_SESSION['getdir'].'&filename='.$file.'" title="Verwijder '.$file.'">
        <img src="'.$_SESSION['fileicons'].'bin.png" width="16" height="16" border="0"/></a>';
        $Html .= '<a href="'.$_SERVER['PHP_SELF'].'?renamefile='.$file.'&filepath='.$_SESSION['filedir'].'&filedir='.$_SESSION['getdir'].'" title="Rename '.$file.'">
        <img src="'.$_SESSION['fileicons'].'textfield_rename.png" width="16" height="16" border="0"/></a>
        <a href="download.php?file='.$_SESSION['filedir'].'/'.$file.'&filename='.$file.'" title="Download '.$file.'">
        <img src="'.$_SESSION['fileicons'].'page_white_go.png" width="16" height="16" border="0"/></a>
        </td>';
        $Html .= '</tr>';
     }
  }


  closedir($dir);
}


$Html .='</table><u onclick="showid(\'upload\');hideid(\'newdir\');" title="Bestand uploaden" Style= "cursor: hand; float:none;">'.getIcon('folder_go.png').'</u>';
$Html .='<div id="upload" style="display:none; float:left;"><form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'?filedir='.$_SESSION['getdir'].'" method="POST" class="FileList">
<input type="hidden" name="dir" value="'.$_SESSION['filedir'].'">
<input type="hidden" name="getdir" value="'.$_SESSION['getdir'].'">
<input type="hidden" name="upload" value="1">
<input name="upfile" type="file">
<input type="submit" value="Uploaden" >
<u onclick="hideid(\'upload\')" title="Annuleren" Style= "cursor: hand;"><img src="'.$_SESSION['fileicons'].'cancel.png" width="16" height="16" border="0"/></u>
</form></div>';

$Html .= '<u onclick="showid(\'newdir\');hideid(\'upload\');" title="Nieuwe map aanmaken" Style= "cursor: hand; posistion:static;">'.getIcon('folder_add.png').'</u><div id="newdir" style="display:none; float:left;"><form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'?filedir='.$_SESSION['getdir'].'" method="POST" class="FileList">
<input type="hidden" name="dir" value="'.$_SESSION['filedir'].'">
<input type="hidden" name="getdir" value="'.$_SESSION['getdir'].'">
<input name="newdir" type="text">
<input type="submit" value="Nieuwe map" class="UploadForm" >
<u onclick="hideid(\'newdir\')" title="Annuleren" Style= "cursor: hand;"><img src="'.$_SESSION['fileicons'].'cancel.png" width="16" height="16" border="0"/></u>
</form></div>';


echo $Html;

//**
// Popup box voor meldingen en invoer.
include('msgpopup.php');
// Aanroep van de functie 
if(!(isset($msg))) {$msg=null;}else{ echo MsgPopup($msg);}

?>        
</body>
</html>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan