zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Ausländische IPs sperren?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #41 (permalink)  
Alt 02.06.2009, 20:14
Benutzerbild von Manko10
Webstandardsevangelist
XHTMLforum-Mitglied
 
Registriert seit: 07.06.2008
Beiträge: 351
Manko10 befindet sich auf einem aufstrebenden Ast
Standard

Du, wir wollen wissen wie du das speicherst. Müssen wir dir denn alles aus der Nase ziehen?
Ohne Code können wir dir nicht helfen. Die Dateiendung ist egal. Die kann meinetwegen auch .ichweißnichtwasfüreinedateiichbin lauten.
Mit Zitat antworten
Sponsored Links
  #42 (permalink)  
Alt 02.06.2009, 20:19
Benutzerbild von webseite_freaky
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 29.08.2008
Beiträge: 198
webseite_freaky befindet sich auf einem aufstrebenden Ast
Standard

Entschuldigung, das ich nicht wusste, was du gemeint hattest!

PHP-Code:
<?php
// #####################
// ### Gästebuch 2.4 ###
// #####################

// *********************
// *** Einstellungen ***
// *********************

// Titel des Gästebuchs.
$guestbook_title="";

// Style des Gästebuches 
// (Die Stylesheet-Datei sollte natürlich an die eigene Seite angepasst werden.)
$guestbook_style="";

// Relativer Pfad zu der Datei, in der die Daten gespeichert werden.
$data_file="guestbook.dat";

// Relativer Pfad zum Verzeichnis, in dem sich die Bilder (space1.gif) befinden.
$images_path="http://xhtmlforum.de/images/";

// Relativer Pfad zum Verzeichnis, in dem sich die Smilies befinden.
// Ist kein Pfad angegeben, werden keine Smilies angezeigt. 
$smilies_path="http://xhtmlforum.de/images/smilies/";

// Anzahl der Beiträge pro Seite.
$postspersite=10;

// E-Mail Adresse des Webmasters für die E-Mail-Benachrichtigung
// bei neuen Einträgen. Ist keine Adresse angegeben, wird keine
// Benachrichtigung gesendet.
$AdminNotifyMailTo="-";

// Administration
$AdminLogin="-";     // BITTE ÄNDERN!
$AdminPasswd="-"// BITTE ÄNDERN!

// *********************

$CodeMD5 "";
$ParamCode GetParam("p_code""P");
$ParamSID GetParam("p_sid""P");

$CodeValid 0;
if (
$ParamCode != "") {
  if (
md5(strtoupper($ParamCode)) == $ParamSID) {
    
$CodeValid 1;
  } else {
    
$CodeValid = -1;
  }
}

$action substr(GetParam("g_action""G"), 05);
$entry substr(GetParam("g_entry""G"), 014);
$first intval(substr(GetParam("g_first""G"), 05));

$send GetParam("p_send""P");
$gb_name GetParam("p_gb_name""P");
$gb_mail GetParam("p_gb_mail""P");
$gb_home GetParam("p_gb_home""P");
$gb_text GetParam("p_gb_text""P");

if(
$action=="login") {
  
AuthUser();
}

if(
$action=="del") {
  if((isset(
$_SERVER['PHP_AUTH_USER'])) && (isset($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_USER'] == $AdminLogin) && ($_SERVER['PHP_AUTH_PW'] == $AdminPasswd)) {
    
DelPosting($data_file$entry);
  }
}

// **************************************************************************
?>
<?php 
echo '<?xml version="1.0" encoding="iso-8859-1"?>' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
     <title>-</title>
     <meta http-equiv="content-script-type" content="text/javascript" />
     <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
     <meta http-equiv="imagetoolbar" content="no" />
     <meta name="robots" content="all" />
     <meta name="description" lang="de" content="-" xml:lang="de" />
     <meta name="description" lang="en" content="-" xml:lang="en" />
     <meta name="keywords" content="-" />
     <meta name="verify-v1" content="-" />
     <link rel="shortcut icon" type="image/x-icon" href="./favicon.ico" />
<?php
if(stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE')) echo '     <link rel="stylesheet" type="text/css" href="./template/style_default.css" />';
if(
stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox')) echo '     <link rel="stylesheet" type="text/css" href="./template/style_ff.css" />';
if(
stristr($_SERVER['HTTP_USER_AGENT'], 'Opera')) echo '     <link rel="stylesheet" type="text/css" href="./template/style_default.css" />';
if(
stristr($_SERVER['HTTP_USER_AGENT'], 'Safari')) echo '       <link rel="stylesheet" type="text/css" href="./template/style_default.css" />';
if(
stristr($_SERVER['HTTP_USER_AGENT'], 'Konqueror')) echo '       <link rel="stylesheet" type="text/css" href="./template/style_default.css" />';
?>

     <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
     </script>
      <script type="text/javascript">
       _uacct = "UA-2477528-1";
       urchinTracker();
      </script>

        <script type="text/javascript" src="./template/jquery.js"></script>
      <script type="text/javascript" src="./template/jquery.accordion.js"></script>
        <script type="text/javascript" src="./template/site_loading.js"></script>

          <script type="text/javascript">
           jQuery().ready(function(){
             // first simple Accordion with special markup
               jQuery('#nav').Accordion({
                 header: 'div.title',
                 active: false,
                 alwaysOpen: false,
                 animated: false
               });
               jQuery('#nav').activate(0);
           });
          </script>
                  
            <script language="javascript">
             function InsertMailGB(mailnam,mailsvr) {
              document.write('<a href="mailto:'+mailnam+'@'+mailsvr+'">'+mailnam+'@'+mailsvr+'</a>');
             }
             function add_smilie(sn) {
              document.guestbook.p_gb_text.value=document.guestbook.p_gb_text.value+":_"+sn+"_:";
             }
            </script>
   </head>
      <body onload="MM_showHideLayers('nav_menu','','show');MM_showHideLayers('nav_info','','hide')">

       <? include ("./includes/header_banner.php"); ?>
       <? include ("./includes/side_image.php"); ?>


    <div class="table">
     <table>
      <tr>
       <td class="header">
        G&auml;stebuch
       </td>
      </tr>
      <tr>
       <td>
<?php

$err_text 
"";

if (
$action=="post") {
  
$gb_name str_replace(chr(34), "''"$gb_name);
  
$gb_name stripslashes($gb_name);
  
$gb_mail strtolower(stripslashes($gb_mail));
  
$gb_home strtolower(stripslashes($gb_home));
  
$gb_text stripslashes(trim($gb_text));

  if(
trim($gb_name == "")) $err_text .= "Bitte verrate uns, von wem dieser Eintrag stammt!<br>";
  elseif (
eregi("^[A-Zäöü]+$" $gb_name)) {
  } else {
  
$err_text .= "Dein Name darf nur Buchstaben von A-Z enthalten!<br>";
  }
  if (
strlen($gb_text) >1000) {
   
$err_text .= "Dein Eintrag darf nur 1000 Zeichen enthalten!<br>";
  } 
  if (
'' !== $_POST['mail']) { 
   
$err_text .= "Da Dein Eintrag verdacht auf Spam enth&auml;lt, wird diese nicht gespeichert!<br>"
  } else { 
    
// Daten verarbeiten   
   
}
  if(
trim($gb_mail == "")) $err_text .= "Bitte gib Deine E-Mail Adresse an.<br>";
  if(
trim($gb_mail != "")) {
    if (!
ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$"$gb_mail))
      
$err_text.="Bitte gib eine gültige E-Mail-Adresse an (z.B.: vorname.nachname@provider.at).<br>";
  }
  if(
trim($gb_home!="") && trim($gb_home != "http://")) {
    if((!
ereg("^http:\/\/(.{3,})\.(.{2,})"$gb_home)) || (ereg("\?"$gb_home)))
      
$err_text .= "Bitte gib eine gültige URL an (z.B.: http://www.seite.at/).<br>";
  }
if(
strpos($gb_text"http://") !== false ||
ereg("(www.[a-zA-Z0-9_-]+)\.([a-zA-Z0-9.]+)",$gb_text)) {
 
$err_text .= "Bitte keine URLs posten!";
}
if(
strpos($gb_text"<url>") !== false) {
 
$err_text .= "<br>";
}
if(
strpos($gb_text"<a href=") !== false) {
 
$err_text .= "<br>";
}
  if (
trim($gb_text == "")) $err_text .= "Bitte gib einen Text ein.<br>";
  }
     
 
$CodeValid 1;
  
// if ($CodeValid == 0) $err_text .= "Bitte gib den Sicherheitscode ein.<br>";
  // if ($CodeValid == -1) $err_text .= "Bitte bib den richtigen Sicherheitscode ein.<br>";

?>


<?php
// ******************************
// *** Neuer Gästebucheintrag ***
// ******************************
if ( ($action=="new") or trim($err_text != "") ) {
?>
<?php
if(($send=="1") && trim($err_text!="")) {
  echo 
"<tr><td class='entried'>$err_text</td></tr>";
}
if(
trim($gb_home=="") && (!$gb_home)) $gb_home="";
?>
        <table>
         <form action="<?php echo $_SERVER['PHP_SELF']; ?>?g_action=post" method="post" name="guestbook">
          <tr>
           <td class="cth-t"><label for="p_gb_name">Name</label></td>
           <td class="cth-p"><input class="cth-i" type="text" id="p_gb_name" name="p_gb_name" value="<?=$gb_name?>" /></td>
         </tr>
         <tr>
           <td class="cth-t"><label for="p_gb_mail">E-Mail</label></td>
           <td class="cth-p"><input class="cth-i" type="text" id="p_gb_mail" name="p_gb_mail" value="<?=$gb_mail?>" /></td>
        </tr>
         <tr>
           <td class="cth-t"><label for="p_gb_home">Homepage</label></td>
           <td class="cth-p"><input class="cth-i" type="text" id="p_gb_home" id="p_gb_home" name="p_gb_home" value="<?=$gb_home?>" /></td>
         </tr>
         <tr>
           <td class="cth-t"><label for="p_gb_text">Text</label></td>
           <td class="cth-p"><textarea class="cth-i" rows="10" cols="50" id="p_gb_text" name="p_gb_text"><?=$gb_text?></textarea></td>
         </tr>
        <tr>
          <td class="cth-t">*</td>
           <td class="cth-p"><input type="submit" id="submit" value="Eintrag senden" />
                             <input type="hidden" id="p_send" name="p_send" value="1" class="p_send" />
                             <input type="text" id="mail" name="mail" value="" class="p_send" />
         </td>
          </tr>
         </form>
        </table>
       </td>
      </tr>
     </table>
    </div>    

    <div class="over_line"></div>
    <div class="navigation">
    <div class="nav_menu" id="nav_menu">
      <div id="nav">
       <? include ("./includes/navigation_links_nav_de.php"); ?>

       </div>
      </div>
    </div>

      <div class="flag">
       <table>
        <tr>
         <td>
          <a href="./guestbook,de.htm"><img src="./images/flag_de.gif" height="15" class="pic" alt="Deutsch" /></a> - <a href="./guestbook,en.htm"><img src="./images/flag_en.gif" height="15" class="pic" alt="English" /></a>
         </td>
        </tr>
       </table>
      </div>
   
      <div class="valide">
       <a href="http://validator.w3.org/check?uri=referer"><img src="./images/valid-xhtml10-blue.gif" height="31" width="88" alt="Valid XHTML 1.0 Strict" class="pic" /></a>
      </div>
 
    
      <div class="copyright">Copyright by **.de 2008</div>
      <div class="verwaltung"><a href="./login,de.htm" class="lhover">Verwaltung</a></div>

      <div class="nav_info" id="nav_info">Seite l&auml;dt...</div>
  
      <div class="adsense">
      <? include ("./includes/adsense.php"); ?>

      </div>
     </body>
</html>
<?php
exit;
}

// **************************
// *** Gästebuch anzeigen ***
// **************************

// *** Zu langen Text abschneiden ***

// *** Wenn Posting "gesendet" wurde und kein Fehlertext ausgegeben wurde ***
if(($send=="1") && trim($err_text=="")) {
  
$gb_date=date("YmdHis"); // Datum setzen
  
$m_date=date("d.m.Y, H:i:s"); // Datum für E-Mail-Benachrichtigung
  
$line=file($data_file); // Daten in Array einlesen
  
rsort($line);  // Array in umgekehrter Reihenfolgen sortieren
  
  
$gb_name=str_replace("<","&lt;",$gb_name);
  
$gb_name=str_replace(">","&gt;",$gb_name);
  
$gb_name=str_replace("\"","&quot;",$gb_name);
  
$gb_name=str_replace("~","-",$gb_name);
  
$gb_name=str_replace("  "," &nbsp;",$gb_name);
  
$gb_name=strip_tags($gb_name,"<b><i><u><a><img>");
  
  
$gb_home=ereg_replace("(<|>| |\(|\)|\||\"|\')","",$gb_home);
  
$gb_home=str_replace("~","-",$gb_home);
  
$gb_home=urlencode($gb_home);
  if(
trim($gb_home=="http://")) $gb_home="";
  
  
$gb_text=str_replace("<","&lt;",$gb_text);
  
$gb_text=str_replace(">","&gt;",$gb_text);
  
$gb_text=str_replace("\"","&quot;",$gb_text);
  
$gb_text=str_replace("~","-",$gb_text);
  
$gb_text=str_replace("  "," &nbsp;",$gb_text);
  
$gb_text=str_replace("\r\n","<br>",$gb_text);
  
$gb_text=urlencode($gb_text);
  
$gb_text=strip_tags($gb_text,"<b><i><u><a><img>");
  
  
// *** Datei öffnen und mit neuem Eintrag überschreiben ***
  
$fp=fopen($data_file,"w");
  
flock($fp,2);
  
fputs($fp,"$gb_date|~#~|$gb_name|~#~|$gb_mail|~#~|$gb_home|~#~|$gb_text".chr(13).chr(10));
  
  
// *** Alte Einträge anhängen ***
  
for($i=0;$i<count($line);$i++) {
    
fputs($fp,$line[$i]);
  }
  
flock($fp,3);
  
fclose($fp);
  
  
// *** Bei neuem Eintrag eine E-Mail an den Webmaster senden ***
  
if($AdminNotifyMailTo) {
    
$m_txt="Datum: <b>".$m_date."</b> Uhr<br>\n";
    
$m_txt.="Von: <b>".$gb_name."</b><br>\n";
    
$m_txt.="E-Mail: <b>".$gb_mail."</a></b><br>\n";
    
$m_txt.="Webseite: <b>".$gb_home."</b><br>\n";
    
$m_txt.="Kommentar: <b> " .$gb_text."</b>\n<br />";
    
$m_txt.= "IP: <b> " .$_SERVER['REMOTE_ADDR'] . "</b>\n";
    
$m_txt=urldecode($m_txt);
    
$m_txt=stripslashes($m_txt);
    
// *** Tags ersetzen ***
    
$m_txt=eregi_replace("(:)(b|\/b)(:)","<\\2>",$m_txt);
    
$m_txt=eregi_replace("(:)(i|\/i)(:)","<\\2>",$m_txt);
    
$m_txt=eregi_replace("(:)(u|\/u)(:)","<\\2>",$m_txt);
    
    
$mail_date=gmdate("D, d M Y H:i:s")." GMT";
    
$header="Date: ".$mail_date."\n";
    
$header.="From: Gästebuch <".$AdminNotifyMailTo.">\n";
    
$header.="X-Mailer: Guestbook FormMailer (www.gaijin.at)\n";
    
$header.="MIME-Version: 1.0\n";
    
$header.="Content-Type: text/html; charset=us-ascii\n";
    
$header.="Content-Transfer-Encoding: 7bit\n";
    
$mail_text="<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
    
$mail_text.="<HTML><HEAD><TITLE></TITLE>\n</HEAD>\n<BODY>\n";
    
$mail_text.=$m_txt;
    
$mail_text.="</BODY>\n</HTML>\n";
    @
mail($AdminNotifyMailTo,"Neuer Gaestebucheintrag!",$mail_text,$header); // keinen Fehler ausgeben
    
$m_txt="";
    
$mail_text="";
    
$header="";
    
$mail_date="";
  }
  
  echo 
'<meta http-equiv="refresh" content="0; URL=./guestbook,de.htm">';
  
  
$gb_name="";
  
$gb_mail="";
  
$gb_home="";
  
$gb_text="";
  
$send="";
  
$err_text="";
  
}

?>
<div class="guestbookEntry">
 <table>
  <tr>
   <td class="guestbookEntry">
    <a href="./guestbook,de.php?g_action=new" class="lhover">Trage Dich ein...</a>
   </td>
  </tr>
 </table>
</div>
<br /><br />
<?php

$line 
= @file($data_file);

// *** Startwert überprüfen und ggf. setzen ***
if($first 0$first 0;
if(
$first count($line) - 1$first count($line) - 1;
// *** Anzahl der Postings/Seite überprüfen und ggf. setzen ***
if($postspersite>count($line)) $postspersite count($line);

// *** Postings nach Startwert und Anzahl/Seite anzeigen ***
$c $first $postspersite;
if (
$c count($line)) $c count($line);
for(
$i $first$i $c$i++) {
  
$p explode("|~#~|"$line[$i], 5);
  if((isset(
$p[0])) && ($i count($line))) {
    
PrintPosting(count($line) - $i$p[1], $p[2], $p[3], $p[0], $p[4]."<br>\n");
    
PrintPostingSpace();
  }
}

if (
$line) {
  
// *** Navigationslinks generieren ***
  
$i count($line) + $postspersite;
  
$j $i;
  echo 
"<center><b><i>Eintr&auml;ge:</i></b> ";
  while(
$j 1) {
    
// *** Startwert für Link ***
    
$i-=$postspersite;
    if(
$i<1$i=1;
    
// *** Endwert für Link ***
    
$j=$i-$postspersite+1;
    if(
$j<1$j=1;
    
// *** Umgekehrte Reihenfolge der Postings!!! ;) ***
    
$k=count($line)-$i;
    
// *** Navigationslinks ausgeben ***
    
if($first==$k) {
      if(
$i!=$j) {echo "$i-$j";} else {echo "|";}
    }else{
      echo 
"<nobr><a href=\"".$_SERVER['PHP_SELF']."?g_first=$k\" class='lhover'>";
      if(
$i!=$j) {echo "$i-$j";} else {echo "$i";}
      echo 
"</a>";
    }
    if(
$j>1) echo "&nbsp;|</nobr> ";
  }
  echo 
"</nobr><br></center>\n\n";
}

if(
$line)
{
  echo 
"<center>\n";
  echo 
"<br>\n";
  echo 
"<big><b><a href=\"".$_SERVER['PHP_SELF']."?g_action=new\"></a></b></big><br>\n";
  echo 
"</center>\n";
}

?>

<center>
Moderation: <b><a href="./guestbook,de.php?g_action=login" class="lhover">Einloggen</a></b>
</center>

<?php
// ############################################################################

function PrintPosting($PostNo,$PostName,$PostMail,$PostHome,$PostTime,$PostMsg)
{
  global 
$smilies_path;
  global 
$images_path;
  global 
$AdminLogin;
  global 
$AdminPasswd;
  
  
$OrigTime=$PostTime;
  
$PostTime=substr($PostTime,6,2).".".substr($PostTime,4,2).".".substr($PostTime,0,4)." | ".substr($PostTime,8,2).":".substr($PostTime,10,2);
  
$PostHome=urldecode($PostHome);
  
$PostMsg=urldecode($PostMsg);
  
$PostMsg=stripslashes($PostMsg);

  
// *** Smilies ersetzen ***
  
if($smilies_path) {
    
$PostMsg=eregi_replace("(\:\_)(.{1,8})(\_\:)"," <img src=\"".$smilies_path."\\2.gif\" border=\"\" alt=\"\\2\"> ",$PostMsg);
    
$PostMsg=str_replace(":))","<img src=\"".$smilies_path."happy.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":))","<img src=\"".$smilies_path."happy.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":)","<img src=\"".$smilies_path."smile.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":)","<img src=\"".$smilies_path."smile.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":D","<img src=\"".$smilies_path."smile.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":D","<img src=\"".$smilies_path."smile.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(";)","<img src=\"".$smilies_path."wink.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(";)","<img src=\"".$smilies_path."wink.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":(","<img src=\"".$smilies_path."sad.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":(","<img src=\"".$smilies_path."sad.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":p","<img src=\"".$smilies_path."puh.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
    
$PostMsg=str_replace(":P","<img src=\"".$smilies_path."puh.gif\" border=\"\" alt=\"Smile\">",$PostMsg);
  }
  
// *** Tags ersetzen ***
  
$PostMsg=eregi_replace("(:)(b|\/b)(:)","<\\2>",$PostMsg);
  
$PostMsg=eregi_replace("(:)(i|\/i)(:)","<\\2>",$PostMsg);
  
$PostMsg=eregi_replace("(:)(u|\/u)(:)","<\\2>",$PostMsg);

  echo 
"<table border=0 cellspacing=0 cellpadding=1 width=619><tr><td id=guestbooktable>";
  echo 
"<table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td id=guestbooktitle>";
  echo 
"<table border=0 cellspacing=0 cellpadding=1 width=100%><tr><td id=guestbooktitle width=100%>&nbsp;".$PostName."</td>";
  echo 
"<td id=guestbooktitleinfo nowrap>".$PostTime."</td></tr></table>";
  echo 
"</td></tr><tr><td id=guestbooktable><img src=\"".$images_path."space1.gif\" width=1 height=1 alt=\"\" border=0></td></tr>";
  echo 
"<tr><td id=guestbookcell><table border=0 cellspacing=0 cellpadding=0 width=100%><tr>";
  echo 
"<td colspan=2><img src=\"".$images_path."space1.gif\" width=1 height=1 alt=\"\" border=0></td></tr>";
  echo 
"<tr><td>&nbsp;</td><td width=100% id=guestbookcell><img src=\"".$images_path."space1.gif\" width=1 height=6 alt=\"\" border=0><br>";
  echo 
$PostMsg."<img src=\"".$images_path."space1.gif\" width=1 height=6 alt=\"\" border=0><br>";
  echo 
"</td></tr><tr><td colspan=2><img src=\"".$images_path."space1.gif\" width=1 height=2 alt=\"\" border=0></td></tr>";
  echo 
"<tr><td id=guestbooktable colspan=2><img src=\"".$images_path."space1.gif\" width=1 height=1 alt=\"\" border=0></td></tr></table>";
  echo 
"<table border=0 cellspacing=0 cellpadding=1 width=100%>";
  echo 
"";
  
  if(
$PostMail=="")
    echo 
"";
  else{
    
$em=explode("@",$PostMail);
    
$m=str_replace("@","@",$PostMail);
    
$m=str_replace(".",".",$m);
    echo 
"";
  }

  echo 
"<img src='./images/hr.gif' alt='' class='pic' />";
  if((!
$PostHome) || ($PostHome=="http://")) {
    echo 
"";
  } else {
    echo 
"";
   
  }
  echo 
"</table></td></tr></table></td></tr></table>\n\n";
  if((isset(
$_SERVER['PHP_AUTH_USER'])) && (isset($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_USER'] == $AdminLogin) && ($_SERVER['PHP_AUTH_PW'] == $AdminPasswd)){
    echo 
"<b id=red>Moderation:</b> <a href=\"".$_SERVER['PHP_SELF']."?g_action=del&g_entry=".$OrigTime."\" class='lhover'>Eintrag löschen</a><br>\n";
  }
  
}

// ############################################################################

function PrintPostingSpace()
{
  global 
$images_path;
  echo 
"<table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img src=\"".$images_path."space1.gif\" width=1 height=10 border=0></td></tr></table>\n";
}

// ############################################################################

function DelPosting($data_file,$entry){
  if(!
file_exists($data_file)) return 0;
  
$lines=file($data_file);
  @
unlink($data_file);
  
$fp=fopen($data_file,"w");
  
flock($fp,2);
  foreach(
$lines as $line){
    
$l=explode("|~#~|",$line);
    if((
chop($line)) && ($l[0]!=$entry)) fputs($fp,$line);
  }
  
flock($fp,3);
  
fclose($fp);
  return 
1;
}

// ############################################################################

function GetParam($ParamName$Method "P"$DefaultValue "") {
  if (
$Method == "P") {
    if (isset(
$_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
  } else if (
$Method == "G") {
    if (isset(
$_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
  } else if (
$Method == "S") {
    if (isset(
$_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
  }
}

// ############################################################################

function AuthUser() {
  global 
$AdminLogin;
  global 
$AdminPasswd;
  if((!isset(
$_SERVER['PHP_AUTH_USER'])) || (!isset($_SERVER['PHP_AUTH_PW'])) || ($_SERVER['PHP_AUTH_USER'] != $AdminLogin) || ($_SERVER['PHP_AUTH_PW'] != $AdminPasswd)){
    
header('WWW-Authenticate: Basic realm="*** Guestbook - Administration"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'<html><head></head><body>Authentifizierung erforderlich!<br><br>';
    echo 
'<a href="guestbook,de.php" class="lhover">Zur&uuml;ck zum G&auml;stebuch</a><br></body></html>';
    exit;
  }
}

// ############################################################################

?>
       </td>
      </tr>
     </table>
    </div>    

    <div class="over_line"></div>
    <div class="navigation">
    <div class="nav_menu" id="nav_menu">
      <div id="nav">
       <? include ("./includes/navigation_links_nav_de.php"); ?>

       </div>
      </div>
    </div>

      <div class="flag">
       <table>
        <tr>
         <td>
          <a href="./guestbook,de.htm"><img src="./images/flag_de.gif" height="15" class="pic" alt="Deutsch" /></a> - <a href="./guestbook,en.htm"><img src="./images/flag_en.gif" height="15" class="pic" alt="English" /></a>
         </td>
        </tr>
       </table>
      </div>
   
      <div class="valide">
       <a href="http://validator.w3.org/check?uri=referer"><img src="./images/valid-xhtml10-blue.gif" height="31" width="88" alt="Valid XHTML 1.0 Strict" class="pic" /></a>
      </div>
 
    
      <div class="copyright">Copyright by ***.de 2008</div>
      <div class="verwaltung"><a href="./login,de.htm" class="lhover">Verwaltung</a></div>

      <div class="nav_info" id="nav_info">Seite l&auml;dt...</div>
  
      <div class="adsense">
      <? include ("./includes/adsense.php"); ?>

      </div>
     </body>
</html>
__________________
Ganz liebe Grüße,
webseite_freaky
---------------------
1 && 1 macht 1 - Klingt komisch, ist aber so

Geändert von webseite_freaky (02.06.2009 um 20:25 Uhr)
Mit Zitat antworten
Sponsored Links
  #43 (permalink)  
Alt 02.06.2009, 21:28
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Lädst du wirklich die Smilies aus dem XHMTL-Forum?
__________________
github | http://dnaber.de
Mit Zitat antworten
  #44 (permalink)  
Alt 02.06.2009, 22:02
Benutzerbild von Manko10
Webstandardsevangelist
XHTMLforum-Mitglied
 
Registriert seit: 07.06.2008
Beiträge: 351
Manko10 befindet sich auf einem aufstrebenden Ast
Standard

Warum benutzt du nicht htmlspecialchars() zum escapen von HTML-Entitäten?
Was steht denn in der Datei, wenn du als Ausgabe ... bekommst?
Mit Zitat antworten
  #45 (permalink)  
Alt 02.06.2009, 22:24
Benutzerbild von webseite_freaky
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 29.08.2008
Beiträge: 198
webseite_freaky befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Lädst du wirklich die Smilies aus dem XHMTL-Forum?
Nein, ich verwende blaue Smilies!

Zitat:
Zitat von Manko10 Beitrag anzeigen
Warum benutzt du nicht htmlspecialchars() zum escapen von HTML-Entitäten?
Was steht denn in der Datei, wenn du als Ausgabe ... bekommst?
Ich verstehe nicht so recht, was du damit meinst! Also ich bekomme jetzt gar keinen Spam mehr rein. Kann mir jetzt bitte jemand sagen, wie ich mehrere if-Abfragen zusammenfasse?
__________________
Ganz liebe Grüße,
webseite_freaky
---------------------
1 && 1 macht 1 - Klingt komisch, ist aber so
Mit Zitat antworten
  #46 (permalink)  
Alt 02.06.2009, 23:26
Benutzerbild von Boris
Tanzender Webentwickler
XHTMLforum-Kenner
 
Registriert seit: 29.07.2004
Ort: Kornwestheim / Stuttgart
Beiträge: 4.925
Boris ist ein sehr geschätzer MenschBoris ist ein sehr geschätzer MenschBoris ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von webseite_freaky Beitrag anzeigen
Kann mir jetzt bitte jemand sagen, wie ich mehrere if-Abfragen zusammenfasse?
LTFB.de - Learn The F***ing Basics ...
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris Bojic
Mit Zitat antworten
  #47 (permalink)  
Alt 04.06.2009, 14:52
Benutzerbild von webseite_freaky
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 29.08.2008
Beiträge: 198
webseite_freaky befindet sich auf einem aufstrebenden Ast
Standard

Okay, ich habe es geschafft mehrer if-Abfragen zusammenzufassen. Trotzdem kommt irgendwie Spam rein. Ich habe schon mehrere Male gehört, dass ein Token dabei helfen kann, Spam zu vermeiden. Ich habe zwar ein Token eingebaut, aber irgendwie will der nicht so recht funktionieren!

PHP-Code:
<?php

$err_text 
"";

if (
$action=="post") {
  
$gb_name str_replace(chr(34), "''"$gb_name);
  
$gb_name stripslashes($gb_name);
  
$gb_mail strtolower(stripslashes($gb_mail));
  
$gb_home strtolower(stripslashes($gb_home));
  
$gb_text stripslashes(trim($gb_text));

  if(
trim($gb_name == "")) $err_text .= "Bitte verrate uns, von wem dieser Eintrag stammt!<br>";
  elseif (
eregi("^[A-Zäöü]+$" $gb_name)) {
  } else {
  
$err_text .= "Dein Name darf nur Buchstaben von A-Z enthalten!<br>";
  }
  if (
strlen($gb_text) >1000) {
   
$err_text .= "Dein Eintrag darf nur 1000 Zeichen enthalten!<br>";
  } 
  if (
'' !== $_POST['mail']) { 
   
$err_text .= "Da Dein Eintrag verdacht auf Spam enth&auml;lt, wird diese nicht gespeichert!<br>"
  } else { 
    
// Daten verarbeiten   
   
}
  if(
trim($gb_mail == "")) $err_text .= "Bitte gib Deine E-Mail Adresse an.<br>";
  if(
trim($gb_mail != "")) {
    if (!
ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$"$gb_mail))
      
$err_text.="Bitte gib eine gültige E-Mail-Adresse an (z.B.: vorname.nachname@provider.at).<br>";
  }
  if(
trim($gb_home!="") && trim($gb_home != "http://")) {
    if((!
ereg("^http:\/\/(.{3,})\.(.{2,})"$gb_home)) || (ereg("\?"$gb_home)))
      
$err_text .= "Bitte gib eine gültige URL an (z.B.: http://www.seite.at/).<br>";
  }
  if (
preg_match'#(www\\.[a-z0-9_-]+\\.[a-z0-9]+|http://|<url>|<a\\s+href=)#i'$gb_text ) ) {
    
$err_text.= "Bitte keine URLs posten!";
  }
  if (
trim($gb_text == "")) $err_text .= "Bitte gib einen Text ein.<br>";
  }
if ( (
strlen($_POST['t'])==0) || ($_POST['t'] != $_SESSION['token']) ) {
   
$error["err_text"] = 'Sicherheitscode ungültig';
}
?>


<?php
$_SESSION
['token'] = md5(microtime());

// ******************************
// *** Neuer Gästebucheintrag ***
// ******************************
if ( ($action=="new") or trim($err_text != "") ) {
?>
<?php
if(($send=="1") && trim($err_text!="")) {
  echo 
"<tr><td class='entried'>$err_text</td></tr>";
}
if(
trim($gb_home=="") && (!$gb_home)) $gb_home="";
?>

        <table>
         <form action="<?php echo $_SERVER['PHP_SELF']; ?>?g_action=post" method="post" name="guestbook">
          <tr>
           <td class="cth-t"><label for="p_gb_name">Name</label></td>
           <td class="cth-p"><input class="cth-i" type="text" id="p_gb_name" name="p_gb_name" value="<?=$gb_name?>" /></td>
         </tr>
         <tr>
           <td class="cth-t"><label for="p_gb_mail">E-Mail</label></td>
           <td class="cth-p"><input class="cth-i" type="text" id="p_gb_mail" name="p_gb_mail" value="<?=$gb_mail?>" /></td>
        </tr>
         <tr>
           <td class="cth-t"><label for="p_gb_home">Homepage</label></td>
           <td class="cth-p"><input class="cth-i" type="text" id="p_gb_home" id="p_gb_home" name="p_gb_home" value="<?=$gb_home?>" /></td>
         </tr>
         <tr>
           <td class="cth-t"><label for="p_gb_text">Text</label></td>
           <td class="cth-p"><textarea class="cth-i" rows="10" cols="50" id="p_gb_text" name="p_gb_text"><?=$gb_text?></textarea></td>
         </tr>
        <tr>
          <td class="cth-t"> </td>
           <td class="cth-p"><input type="submit" id="submit" value="Eintrag senden" />
                             <input type="hidden" id="p_send" name="p_send" value="1" class="p_send" />
                             <input type="text" id="mail" name="mail" value="" class="p_send" />
                             <input type="hidden" id="t" name="t" value="<?php echo $_SESSION['token'?>" />
         </td>
          </tr>
         </form>
        </table>
       </td>
      </tr>
     </table>
    </div>
__________________
Ganz liebe Grüße,
webseite_freaky
---------------------
1 && 1 macht 1 - Klingt komisch, ist aber so
Mit Zitat antworten
Antwort


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTTP Auth für bestimmte IPs umgehen Pablo Serveradministration und serverseitige Scripte 4 14.09.2010 15:20
IP adressen von bekannten VPN's sperren? Qfine Serveradministration und serverseitige Scripte 1 19.02.2010 15:27
CMS sperren Nandini Serveradministration und serverseitige Scripte 10 18.05.2009 22:19
Kann man PHP auf dem Server sperren? hubspe Serveradministration und serverseitige Scripte 10 19.03.2008 08:07
Dateien PW schützen/Verzeichnisstruktur sperren TheRealImperator Serveradministration und serverseitige Scripte 6 27.01.2006 12:26


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:19 Uhr.