ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » JS Code als URL im Gästebuch

Geschlossen
  1. #1
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hallo Ilch,

    Ich weiß nicht ob es was ernstes ist oder eher harmlos aber es machte mir sorgen deshalb wollte ich es von den Codern hier genauer wissen ob es ein Problem ist oder eher nicht.

    Vor ein paar Tagen hatten wir einen Gästebucheintrag von einem Gast der nur einen Buchstabensalat geschrieben hat. Das außergewöhnliche an diesem Eintrag war aber die URL (Homepage). Jedes mal wenn man über das Symbol mit der Maus drüber gefahren war (ohne klicken) ging ein Fenster mit einer 1 als Text auf. Ich dachte erst wer weiß was das ist und habe sogar danach gleich das Passwort geändert man kann nie wissen zwinker

    Ich habe den Beitrag dann im Adminbereich mit dem Editbutton geöffnet aber in der Zeile URL stand nichts drin.

    Erst als ich es über PHPmyAdmin in der Datenbank anschaute konnte ich diese Zeile finden.
    (112, 'Gast', 'asdasd@ad.de', '" onmouseover=alert(1) "', 1331884959, '178.201.xx.xxx', 'fsdwerwerwerwer');


    Habe die IP zum Teil unkenntlich gemacht da ich nicht weiß ob man es einfach so rein stellen darf habe aber die auch vollständig.

    Ich habe inzwischen diesen Eintrag gelöscht und wenn ich den Code anschaue war das Harmlos und ich änderte mein Passwort umsonst.

    Die Frage ist jetzt aber wie hat er/sie es gemacht und wie hoch ist das Risiko? Kann man da was Bösartiges einschleusen? Bin kein PHP bzw. JavaScript Experte deshalb dachte ich mir das es Wichtig ist es hier zu melden.

    Ich habe es Versucht nach zumachen aber das Gästebuch stellt immer ein http:// davor weshalb ich mich frage wie es möglich war.

    betroffene Homepage: vetus-clan.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ja das ist eine Lücke, um die zu beheben, müsste bei Ausgeben htmlspecialchars angewandt werden, also in der conmtents/gbook.php unter der ersten der beiden Zeilen, die 2. eingefügt werden.
     $r['text'] = bbcode($r['text']);
    $r['page'] = htmlspecialchars($r['page']);



    Zuletzt modifiziert von Mairu am 22.03.2012 - 18:21:40
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    schockiert Habe mir auch gedacht das es nicht verkehrt wäre jemanden zu fargen der sich damit auskennt. Danke gleich mal für die Lösung werde es heute noch einsetzen.

    Darf man fragen ob es schon bekannt war und wie gefährlich war/ist jetzt diese Lücke. Was hätte man damit anstellen können. Passwörter, Zugangsdaten, MySql usw. die sensibelen Sachen war das gefährdet oder ist diese Lücke eher was Harmloses.

    Danke W.Ø.R
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja man kann "nur" Javascriptcode ausführen, sprich im Browser des Users Dinge machen, das gefährlichste dabei ist ggf. das Auslesen von Cookies, wo der Hash des Passwortes drin steht oder das Aufrufen andere Seiten, man muss dabei aber auch bedenken, dass um etwas mehr zu machen auch mehr Code notwendig ist, und das Urlfeld passt ja nicht unendlich viele Zeichen, nichtsdestotrotz ein sehr unschöne Sache.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hey Mairu,

    Inzwischen habe ich herausgefunden wie man den JS Code da einfügt will da auch nicht neher drauf eingehen.

    Ich habe die 2 Zeilen eingefügt aber es geht trotzdem. Wahrscheinlich habe ich es an eine falsche Stelle eingefügt hier ist meine gbook.php

    /include/contents/gbook.php

    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    $r['text'] = bbcode($r['text']);
    $r['page'] = htmlspecialchars($r['page']);
    $title = $allgAr['title'].' :: G&auml;stebuch';
    
    $hmenu = 'G&auml;stebuch';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    # time sperre in sekunden
    $timeSperre = $allgAr['Gsperre'];
    
    /*
    
      gbook
    	
    	id , name , mail , page , ip , time , txt
    
    */
    
    switch($menu->get(1)) {
    case 1 :
    
    	$tpl = new tpl ( 'gbook.htm' );
    	$ar = array (
        'uname' => $_SESSION['authname'],
        'SMILIES' => getsmilies(),
    		'ANTISPAM' => get_antispam ('gbook', 1),
        'TXTL' => $allgAr['Gtxtl']
      );
    	$tpl->set_ar_out($ar,3);
      
      if (!isset($_SESSION['klicktime_gbook'])) { $_SESSION['klicktime_gbook'] = 0; }
      
    break;
    case 2 :
    
      $dppk_time = time();
     
      if (($_SESSION['klicktime_gbook'] + $timeSperre) < $dppk_time
      AND isset($_POST['name'])
      AND isset($_POST['txt'])
      AND trim($_POST['name']) != ""
      AND trim($_POST['txt']) != ""
      AND chk_antispam ('gbook' )
      AND strlen ($_POST['txt']) <= $allgAr['Gtxtl'] ) {
    
        $txt = escape($_POST['txt'], 'textarea');
    	  $name = escape($_POST['name'], 'string');
    	  $mail = escape($_POST['mail'], 'string');
    	  $page = escape($_POST['page'], 'string');
    	
      	db_query("INSERT INTO prefix_gbook VALUES (
          null,
    	    '".$name."',
          '".$mail."',
          '".$page."',
          '".time()."',
          '".getip()."',
          '".$txt."' 
    		)
        ");
    					
        
        $_SESSION['klicktime_gbook'] = $dppk_time;
        wd('index.php?gbook',$lang['insertsuccessful']);
    	} else {
    	  echo '- '.$lang['donotpostsofast'];
    	  echo '<br />- '.sprintf($lang['gbooktexttolong'], $allgAr['Gtxtl']);
    	  echo '<br />- '.$lang['plsfilloutallfields'];
    	}	
      break;
    case 'show' :
      if ($allgAr['gbook_koms_for_inserts'] == 1) {
        $id = escape($menu->get(2), 'integer');
        if (chk_antispam('gbookkom') AND isset($_POST['name']) AND isset($_POST['text'])) {
          $name = escape($_POST['name'], 'string');
          $text = escape($_POST['text'], 'string');
          db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('".$name."', '".$text."', ".$id.", 'GBOOK')");
        }
        if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(3)) AND has_right(-7, 'gbook')) {
          $did = escape($menu->getE(3), 'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' AND id = ".$did);
        }
        
    
        $r  = db_fetch_assoc(db_query("SELECT time, name, mail, page, txt as text, id FROM prefix_gbook WHERE id = ".$id));
        $r['datum'] = date('d.m.Y', $r['time']);
        if ($r['page'] != '') {
          $r['page'] = get_homepage($r['page']);
          $r['page'] = ' &nbsp; <a href="'.$r['page'].'" target="_blank"><img src="include/images/icons/page.png" border="0" alt="Homepage '.$lang['from'].' '.$r['name'].'"></a>'; 
    		}
    		if ($r['mail'] != '') { 
    	    $r['mail'] = ' &nbsp; <a href="mailto:'.escape_email_to_show($r['mail']).'"><img src="include/images/icons/mail.png" border="0" alt="E-Mail '.$lang['from'].' '.$r['name'].'"></a>'; 
    		}
        
        $tpl = new tpl ( 'gbook.htm' );
    		$r['ANTISPAM'] = get_antispam('gbookkom', 0);
        $r['uname'] = $_SESSION['authname'];
        $r['text'] = bbcode($r['text']);
        $tpl->set_ar_out($r, 4);
        $i = 1;
        $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' ORDER BY id DESC");
        $anz = db_num_rows($erg)+1;
        while ($r1 = db_fetch_assoc($erg)) {
          $r1['zahl'] = $anz - $i;
          $r1['text'] = bbcode($r1['text']);
          if (has_right(-7, 'gbook')) { $r1['text'] .= '<a href="index.php?gbook-show-'.$id.'-d'.$r1['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" border="0" title="'.$lang['delete'].'" /></a>'; }
          $tpl->set_ar_out($r1, 5);
          $i++;
        }
        $tpl->out(6);
      }
      break;
    default :
    
      $limit = $allgAr['gbook_posts_per_site'];  // Limit 
      $page = ( $menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 );
      $MPL = db_make_sites ($page , "" , $limit , "?gbook" , 'gbook' );
      $anfang = ($page - 1) * $limit;
      
    	$tpl = new tpl ( 'gbook.htm' );
    	
      $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_gbook"); 
      $ein    = @db_result($ei1,0);
    	
    	$ar = array ('EINTRAGE' => $ein );
    	$tpl->set_ar_out($ar,0);
    	
    	$erg = db_query("SELECT * FROM prefix_gbook ORDER BY time DESC LIMIT ".$anfang.",".$limit) or die (db_error());
    	while ($row = db_fetch_object($erg)) {
    	  
        $page = '';
        $mail = '';
    		if ($row->page) {
          $row->page = get_homepage($row->page);
          $page = ' &nbsp; <a href="'.$row->page.'" target="_blank"><img src="include/images/icons/page.png" border="0" alt="Homepage '.$lang['from'].' '.$row->name.'"></a>'; 
    		}
    		if ($row->mail) { 
    	    $mail = ' &nbsp; <a href="mailto:'.escape_email_to_show($row->mail).'"><img src="include/images/icons/mail.png" border="0" alt="E-Mail '.$lang['from'].' '.$row->name.'"></a>'; 
    		}
        $koms = '';
        if ($allgAr['gbook_koms_for_inserts'] == 1) {
          $koms = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = ".$row->id." AND cat = 'GBOOK'"),0,0);
          $koms = '<a href="index.php?gbook-show-'.$row->id.'">'.$koms.' '.$lang['comments'].'</a>';
        }
        
    		$ar = array ( 'NAME' => $row->name,
    		                'DATE' => date("d.m.Y",$row->time),
                        'koms' => $koms,
    										'MAIL' => $mail,
    										'ID'   => $row->id,
    										'PAGE' => $page,
    										'TEXT' => BBCode($row->txt)
    		  );
          
    			$tpl->set_ar_out($ar,1);
    	}
    	$tpl->set_out('SITELINK', $MPL, 2 );
    break;
    }
    
    //-----------------------------------------------------------|
    
    $design->footer();
    
    ?>


    Ich habe es jetzt in der Zeile 7 und 8 aber der JS Code geht trotzdem. Habe es auch mal an einer anderen Stelle ausprobiere ab Zeile 17 nach der Zeitsperre aber es brachte auch nichts. Und bevor ich Stunden Lang Probiere (da ich nicht weiß was ich da tue) wäre es vielleicht besser wenn du mal einen Blick da drauf wirfst.

    Danke schon mal.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die erste Zeile ist schon im Code und die 2. solltest du einfügen, die erste der beiden ist die Zeile 112.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Ah jetzt verstehe ich wo es hin muss beim ersten mal hab ich es ganz Falsch verstanden.

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: G&auml;stebuch';
    $hmenu = 'G&auml;stebuch';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    # time sperre in sekunden
    $timeSperre = $allgAr['Gsperre'];
    
    /*
    
      gbook
    
    	id , name , mail , page , ip , time , txt
    
    */
    
    switch($menu->get(1)) {
    case 1 :
    
    	$tpl = new tpl ( 'gbook.htm' );
    	$ar = array (
        'uname' => $_SESSION['authname'],
        'SMILIES' => getsmilies(),
    		'ANTISPAM' => get_antispam ('gbook', 1),
        'TXTL' => $allgAr['Gtxtl']
      );
    	$tpl->set_ar_out($ar,3);
    
      if (!isset($_SESSION['klicktime_gbook'])) { $_SESSION['klicktime_gbook'] = 0; }
    
    break;
    case 2 :
    
      $dppk_time = time();
    
      if (($_SESSION['klicktime_gbook'] + $timeSperre) < $dppk_time
      AND isset($_POST['name'])
      AND isset($_POST['txt'])
      AND trim($_POST['name']) != ""
      AND trim($_POST['txt']) != ""
      AND chk_antispam ('gbook' )
      AND strlen ($_POST['txt']) <= $allgAr['Gtxtl'] ) {
    
        $txt = escape($_POST['txt'], 'textarea');
    	  $name = escape($_POST['name'], 'string');
    	  $mail = escape($_POST['mail'], 'string');
    	  $page = escape($_POST['page'], 'string');
    
      	db_query("INSERT INTO prefix_gbook (`name`,`mail`,`page`,`time`,`ip`,`txt`) VALUES ('".$name."', '".$mail."', '".$page."', '".time()."', '".getip()."', '".$txt."')");
    
    
        $_SESSION['klicktime_gbook'] = $dppk_time;
        wd('index.php?gbook',$lang['insertsuccessful']);
    	} else {
    	  echo '- '.$lang['donotpostsofast'];
    	  echo '<br />- '.sprintf($lang['gbooktexttolong'], $allgAr['Gtxtl']);
    	  echo '<br />- '.$lang['plsfilloutallfields'];
    	}
      break;
    case 'show' :
      if ($allgAr['gbook_koms_for_inserts'] == 1) {
        $id = escape($menu->get(2), 'integer');
        if (chk_antispam('gbookkom') AND isset($_POST['name']) AND isset($_POST['text'])) {
          $name = escape($_POST['name'], 'string');
          $text = escape($_POST['text'], 'string');
          db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('".$name."', '".$text."', ".$id.", 'GBOOK')");
        }
        if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(3)) AND has_right(-7, 'gbook')) {
          $did = escape($menu->getE(3), 'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' AND id = ".$did);
        }
    
    
        $r  = db_fetch_assoc(db_query("SELECT time, name, mail, page, txt as text, id FROM prefix_gbook WHERE id = ".$id));
        $r['datum'] = date('d.m.Y', $r['time']);
        if ($r['page'] != '') {
          $r['page'] = get_homepage($r['page']);
          $r['page'] = ' &nbsp; <a href="'.$r['page'].'" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage '.$lang['from'].' '.$r['name'].'"></a>';
    		}
    		if ($r['mail'] != '') {
    	    $r['mail'] = ' &nbsp; <a href="mailto:'.escape_email_to_show($r['mail']).'"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail '.$lang['from'].' '.$r['name'].'"></a>';
    		}
    
        $tpl = new tpl ( 'gbook.htm' );
    		$r['ANTISPAM'] = get_antispam('gbookkom', 0);
        $r['uname'] = $_SESSION['authname'];
        $r['text'] = bbcode($r['text']);
    	$r['page'] = htmlspecialchars($r['page']);
        $tpl->set_ar_out($r, 4);
        $i = 1;
        $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' ORDER BY id DESC");
        $anz = db_num_rows($erg)+1;
        while ($r1 = db_fetch_assoc($erg)) {
          $r1['zahl'] = $anz - $i;
          $r1['text'] = bbcode($r1['text']);
          if (has_right(-7, 'gbook')) { $r1['text'] .= '<a href="index.php?gbook-show-'.$id.'-d'.$r1['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" border="0" title="'.$lang['delete'].'" /></a>'; }
          $tpl->set_ar_out($r1, 5);
          $i++;
        }
        $tpl->out(6);
      }
      break;
    default :
    
      $limit = $allgAr['gbook_posts_per_site'];  // Limit
      $page = ( $menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 );
      $MPL = db_make_sites ($page , "" , $limit , "?gbook" , 'gbook' );
      $anfang = ($page - 1) * $limit;
    
    	$tpl = new tpl ( 'gbook.htm' );
    
      $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_gbook");
      $ein    = @db_result($ei1,0);
    
    	$ar = array ('EINTRAGE' => $ein );
    	$tpl->set_ar_out($ar,0);
    
    	$erg = db_query("SELECT * FROM prefix_gbook ORDER BY time DESC LIMIT ".$anfang.",".$limit) or die (db_error());
    	while ($row = db_fetch_object($erg)) {
    
        $page = '';
        $mail = '';
    		if ($row->page) {
          $row->page = get_homepage($row->page);
          $page = ' &nbsp; <a href="'.$row->page.'" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage '.$lang['from'].' '.$row->name.'"></a>';
    		}
    		if ($row->mail) {
    	    $mail = ' &nbsp; <a href="mailto:'.escape_email_to_show($row->mail).'"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail '.$lang['from'].' '.$row->name.'"></a>';
    		}
        $koms = '';
        if ($allgAr['gbook_koms_for_inserts'] == 1) {
          $koms = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = ".$row->id." AND cat = 'GBOOK'"),0,0);
          $koms = '<a href="index.php?gbook-show-'.$row->id.'">'.$koms.' '.$lang['comments'].'</a>';
        }
    
    		$ar = array ( 'NAME' => $row->name,
    		                'DATE' => date("d.m.Y",$row->time),
                        'koms' => $koms,
    										'MAIL' => $mail,
    										'ID'   => $row->id,
    										'PAGE' => $page,
    										'TEXT' => BBCode($row->txt)
    		  );
    
    			$tpl->set_ar_out($ar,1);
    	}
    	$tpl->set_out('SITELINK', $MPL, 2 );
    break;
    }
    
    //-----------------------------------------------------------|
    
    $design->footer();
    
    ?>


    Habe jetzt die original gbook.php genohmen und da die eine Zeile eingefügt siehe Code aber es ist weiterhin möglich JavaScript einzufügen, habe es gleich mal versucht und es funktionierte traurig
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mhh stimmt, mit der Homepage stand ja sogar schon Code drin, habs mir mal genauer angeschaut, hier ist die korrigierte Version aus 1.1O, ich hoffe das war auch die, die du geschickt hattest.

    Hab die geänderten Zeilen mal markiert.

    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    
    $title = $allgAr['title'] . ' :: G&auml;stebuch';
    $hmenu = 'G&auml;stebuch';
    $design = new design ($title , $hmenu);
    $design->header();
    // time sperre in sekunden
    $timeSperre = $allgAr['Gsperre'];
    
    /*
    
      gbook
    
    	id , name , mail , page , ip , time , txt
    
    */
    
    switch ($menu->get(1)) {
        case 1 :
    
            $tpl = new tpl ('gbook.htm');
            $ar = array (
                'uname' => $_SESSION['authname'],
                'SMILIES' => getsmilies(),
                'ANTISPAM' => get_antispam ('gbook', 1),
                'TXTL' => $allgAr['Gtxtl']
                );
            $tpl->set_ar_out($ar, 3);
    
            if (!isset($_SESSION['klicktime_gbook'])) {
                $_SESSION['klicktime_gbook'] = 0;
            }
    
            break;
        case 2 :
    
            $dppk_time = time();
    
            if (($_SESSION['klicktime_gbook'] + $timeSperre) < $dppk_time
                    AND isset($_POST['name'])
                    AND isset($_POST['txt'])
                    AND trim($_POST['name']) != ""
                    AND trim($_POST['txt']) != ""
                    AND chk_antispam ('gbook')
                    AND strlen ($_POST['txt']) <= $allgAr['Gtxtl']) {
                $txt = escape($_POST['txt'], 'textarea');
                $name = escape($_POST['name'], 'string');
                $mail = escape($_POST['mail'], 'string');
                $page = escape($_POST['page'], 'string');
    
                db_query("INSERT INTO prefix_gbook (`name`,`mail`,`page`,`time`,`ip`,`txt`) VALUES ('" . $name . "', '" . $mail . "', '" . $page . "', '" . time() . "', '" . getip() . "', '" . $txt . "')");
    
                $_SESSION['klicktime_gbook'] = $dppk_time;
                wd('index.php?gbook', $lang['insertsuccessful']);
            } else {
                echo '- ' . $lang['donotpostsofast'];
                echo '<br />- ' . sprintf($lang['gbooktexttolong'], $allgAr['Gtxtl']);
                echo '<br />- ' . $lang['plsfilloutallfields'];
            }
            break;
        case 'show' :
            if ($allgAr['gbook_koms_for_inserts'] == 1) {
                $id = escape($menu->get(2), 'integer');
                if (chk_antispam('gbookkom') AND isset($_POST['name']) AND isset($_POST['text'])) {
                    $name = escape($_POST['name'], 'string');
                    $text = escape($_POST['text'], 'string');
                    db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('" . $name . "', '" . $text . "', " . $id . ", 'GBOOK')");
                }
                if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(3)) AND has_right(- 7, 'gbook')) {
                    $did = escape($menu->getE(3), 'integer');
                    db_query("DELETE FROM prefix_koms WHERE uid = " . $id . " AND cat = 'GBOOK' AND id = " . $did);
                }
    
                $r = db_fetch_assoc(db_query("SELECT time, name, mail, page, txt as text, id FROM prefix_gbook WHERE id = " . $id));
                $r['datum'] = date('d.m.Y', $r['time']);
                if ($r['page'] != '') {
                    $r['page'] = get_homepage($r['page']);
                    $r['page'] = ' &nbsp; <a href="' . htmlspecialchars($r['page']) . '" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage ' . $lang['from'] . ' ' . htmlspecialchars($r['name']) . '"></a>';
                }
                if ($r['mail'] != '') {
                    $r['mail'] = ' &nbsp; <a href="mailto:' . escape_email_to_show($r['mail']) . '"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail ' . $lang['from'] . ' ' . $r['name'] . '"></a>';
                }
    
                $tpl = new tpl ('gbook.htm');
                $r['ANTISPAM'] = get_antispam('gbookkom', 0);
                $r['uname'] = $_SESSION['authname'];
                $r['text'] = bbcode($r['text']);
                $tpl->set_ar_out($r, 4);
                $i = 1;
                $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = " . $id . " AND cat = 'GBOOK' ORDER BY id DESC");
                $anz = db_num_rows($erg) + 1;
                while ($r1 = db_fetch_assoc($erg)) {
                    $r1['zahl'] = $anz - $i;
                    $r1['text'] = bbcode($r1['text']);
                    if (has_right(- 7, 'gbook')) {
                        $r1['text'] .= '<a href="index.php?gbook-show-' . $id . '-d' . $r1['id'] . '"><img src="include/images/icons/del.gif" alt="' . $lang['delete'] . '" border="0" title="' . $lang['delete'] . '" /></a>';
                    }
                    $tpl->set_ar_out($r1, 5);
                    $i++;
                }
                $tpl->out(6);
            }
            break;
        default :
    
            $limit = $allgAr['gbook_posts_per_site']; // Limit
            $page = ($menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1);
            $MPL = db_make_sites ($page , "" , $limit , "?gbook" , 'gbook');
            $anfang = ($page - 1) * $limit;
    
            $tpl = new tpl ('gbook.htm');
    
            $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_gbook");
            $ein = @db_result($ei1, 0);
    
            $ar = array ('EINTRAGE' => $ein);
            $tpl->set_ar_out($ar, 0);
    
            $erg = db_query("SELECT * FROM prefix_gbook ORDER BY time DESC LIMIT " . $anfang . "," . $limit) or die (db_error());
            while ($row = db_fetch_object($erg)) {
                $page = '';
                $mail = '';
                if ($row->page) {
                    $row->page = get_homepage($row->page);
                    $page = ' &nbsp; <a href="' . htmlspecialchars($row->page) . '" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage ' . $lang['from'] . ' ' . htmlspecialchars($row->name) . '"></a>';
                }
                if ($row->mail) {
                    $mail = ' &nbsp; <a href="mailto:' . escape_email_to_show($row->mail) . '"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail ' . $lang['from'] . ' ' . $row->name . '"></a>';
                }
                $koms = '';
                if ($allgAr['gbook_koms_for_inserts'] == 1) {
                    $koms = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = " . $row->id . " AND cat = 'GBOOK'"), 0, 0);
                    $koms = '<a href="index.php?gbook-show-' . $row->id . '">' . $koms . ' ' . $lang['comments'] . '</a>';
                }
    
                $ar = array ('NAME' => $row->name,
                    'DATE' => date("d.m.Y", $row->time),
                    'koms' => $koms,
                    'MAIL' => $mail,
                    'ID' => $row->id,
                    'PAGE' => $page,
                    'TEXT' => BBCode($row->txt)
                    );
    
                $tpl->set_ar_out($ar, 1);
            }
            $tpl->set_out('SITELINK', $MPL, 2);
            break;
    }
    // -----------------------------------------------------------|
    $design->footer();
    
    ?>



    Zuletzt modifiziert von Mairu am 25.03.2012 - 15:14:33
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Sorry das ich mich so spät melde, wollte nur sagen das der Letzte Code von Mairu funktioniert und es ist nicht mehr möglich Java Script einzufügen.

    Danke für die Hilfe lächeln
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Sqweegel26 Mitglied
    Registriert seit
    17.01.2012
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    Hier von mir mal ne frage zum GB bevor ich dafür ein neuen Thread auf mache wie stelle ich ein das ich als admin die einträge erst frei schalten muss bevor sie sichtbar sind??


    Ich habe das ilch 1.1O wie mairu den code hier drin hat hab ich ganau so damit kann man arbeiten zwinker


    Mfg Sqweegel
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Angelina Mitglied
    Registriert seit
    06.11.2011
    Beiträge
    127
    Beitragswertungen
    20 Beitragspunkte
    www,angelina.de
    Ein Kavalier ist ein Mann, der sich den Geburtstag einer Frau merkt und ihr alter vergisst.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Sqweegel26 Mitglied
    Registriert seit
    17.01.2012
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    Vielen dank
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten