Links verbieten

Dieses Thema Links verbieten im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Fooulaz, 13. Juni 2007.

Thema: Links verbieten Hallo zusammen! meine Homepage liegt zurzeit zwar brach, da ich im Moment keinen Sinn in ihr sehe, jedoch existiert...

  1. Hallo zusammen!

    meine Homepage liegt zurzeit zwar brach, da ich im Moment keinen Sinn in ihr sehe, jedoch existiert auf ihr mein Gästebuch das ich nicht löschen will.
    das Gästebuch existiert nun schon seit ca. einem halben jahr und seit dieser zeit hat es noch keinen Robot auf meine seite verschlagen.
    bis vor kurzem: Er hat mir ca. 90 Einträge verpasst und alle mit dem Versuch mir Links zu hinterlassen. Aufgrund von get_magic_quotes und htmlspecialchars werden diese zum Glück nicht richtig angezeigt.
    Trotzdem verewigt er sich auf meiner Seite! :|

    Jetzt habe ich mir gedacht, dass ich einfach ein paar zeilen code ins Gästebuchskript schreiben könnte, die es verbieten einen Link zu hinterlassen. Und zwar durch die Funktion $search=array().
    Ich will, dass das Skript mir den Inhalt des verfassers nach bestimmten Wörtern oder Zeichen durchsucht und wenn diese gefunden werden das Absenden verweigert also die().

    Da ich aber immer noch ein ziemlicher Anfänger bin weiß ich nicht wo und welchen Code ich einfügen soll und bitte deshalb um Hilfe! :'(


    Wahrscheinlich hier irgendwo einfügen:

    Code:
    if ($_POST[Eintragen]) {
    
    	include ../php_includes/konfigurationfooulaz.php;
    
    	$err=false;
    
    	if (empty($_POST['Autor'])&&empty($_POST['Titel'])&&empty($_POST['Inhalt'])&&empty($_POST['EMail']))
    	{ $err=true; echo Bitte Formular ausfüllen! <br />; die ();
    		 }
    
    	if(trim($_POST['Autor'] ==  ))
    	{ $err=true; die( Bitte einen Namen eingeben!<br />\n);
    		 }
    
    	if (trim($_POST['Titel'] == ))
    	{ $err=true; die( Bitte Betreff ausfüllen!<br />\n); }
    
    	if(trim($_POST['Inhalt'] ==  ))
    	{ $err=true; die( Bitte einen Text eingeben!<br />\n);
    		 }
    
    
    
    	if(get_magic_quotes_gpc()) {
    	 array_stripslashes($_POST);
    	 array_stripslashes($_GET);
    	 array_stripslashes($_COOKIE);
    	}
    
    
    	$ip = getenv( REMOTE_ADDR );
    	$host=gethostbyaddr($ip);
    
    
    	 if (!$err) { $intabelle= INSERT INTO gb (Autor, EMail, Homepage, Titel, Inhalt, Datum, Uhrzeit, IP, Host)
    			       VALUES
    				   ('.addslashes(htmlspecialchars($_POST['Autor'])).',
    					'.addslashes(htmlspecialchars($_POST['EMail'])).',
    					'.addslashes(htmlspecialchars($_POST['Homepage'])).',
    					'.addslashes(htmlspecialchars($_POST['Titel'])).',
    					'.addslashes(htmlspecialchars($_POST['Inhalt'])).',
    					NOW(), NOW(),'$ip',->$host');
    
    	$x=mysql_query($intabelle) OR die (DSNIDT, da: .mysql_error());
    		echo Eintrag gesendet!<br />\n;
    		echo <a href=\guestbook.php\>---Zum Inhalt---</a>\n;  } }
    
    
    
    
    
    
    
    
    	echo </td>\n;
    	echo </tr>\n;
    	echo </table>\n;
    	echo <hr border=\1\>\n;
    
    
    
    	echo </body>\n;
    
    	echo </html>\n;

    Falls das ein zu kleiner Ausschnitt des Skripts ist kann ich auch das Ganze senden. Falss zu wenig info schreibt mir was ich noch an Infos geben soll.

    Grüße Fooulaz
     
  2. Schade! :(

    So was vielleicht (hab schon seit nem halben jahr nichts mehr mit Html, Php gemacht also sry)

    Code:
    $search=array(<a, /a, url=);
    if $search = true (exit (Keine Links im Beitrag erlaubt))
    Nur son Gedanke. Die Richtung dürfte jetzt klarer sein.

    Muss dem Skript auch noch verklickern was es durchsuchen soll aber wie?

    Bitte sagt mir was ihr an info braucht!

    Bitte helft mir, der Robot hat schon wieder zugeschlagen!

    Gruß Fooulaz
     
  3. hallo wie wärs wenn du einfach die htmlspecialchars funktion verwendest?
    bsp:
    Code:
    $text=htmlspecialchars($text);
    echo$text;
    
     
  4. Ich hab das mal für ein Gästebuch eines Freundes so gelöst:
    Code:
    <?php
    if((ereg([url]http://[/url], $text)) || (ereg(www, $text))...(z.B. echoNicht erlaubt...
    ?>
     
  5. So, mach das jetzt anders.

    Und zwar will ich das mit so Bildchen lösen auf denen man zahlen und buchstaben sieht und dies dann eingibt. Glaub das heißt Scratching oder so (lol). denke ihr wisst was ich meine.


    Mein Code bisher:


    authentifizierung1.php:

    Code:
    <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN
    	 [url]http://www.w3.org/TR/html4/loose.dtd>[/url]
    	<html>
    
    	<head>
    	<meta http-equiv=Content-Style-Type content=text/css>
    	<meta name=author content=Marco Foland>
    	<meta name=description content=>
    	<meta name=keywords content=Folus>
    	<title>Fooulaz</title>
    	<link rel=stylesheet type=text/css href=../fooulaz_screen.css>
    
    	</head>
    
    
    <body>
    
    <p align=center>Bitte trage die Zeichen in das Feld ein um sicher zu sein, dass du ein Mensch bist! (Und kein Böser Spam-Roboter!!)</p>
    
    <?php
    echo <p align=\center\>\n;
     $bild=array(Bild1.bmp,Bild2.bmp,Bild3.bmp,Bild4.bmp,Bild5.bmp,Bild6.bmp,Bild7.bmp,Bild8.bmp,Bild9.bmp,Bild10.bmp);
     mt_srand ((double)microtime()*1000000);
     $zufallszahl = mt_rand(0,(count($bild) - 1));
    
     echo <p><img src=\./.$bild[$zufallszahl].\></img><p><form action=\./authentifizierung2.php\ methode=\post\><input type=\text\ name=\Eingabe\ size=\25\ maxlength=\10\></p>\n;
     echo <p><input type=\submit\ name=\OK\ value=\Ok\></form></p></p>\n;
    
    
    ?>
    
    
    </body>
    </html>
    authentifizierung2.php:

    Code:
    <?php
    
     include ../../php_includes/konfigurationfooulaz.php;
    
     if(get_magic_quotes_gpc()) {
    	  array_stripslashes($_POST);}
    
    	  $überprüfen=$_POST;
    
    $query = SELECT authzahl FROM authentifizierung WHERE authzahl =->.mysql_real_escape_string($überprüfen).';
    $result = mysql_query($query) OR die (Bitte Feld richtig ausfüllen!!);
    
    if ($query == true) { header (Location:../FooulazGUESTBOOK.php); } //auf FooulazGUESTBOOK kann man dann den Eintrag
                                                    //eingeben!
    
    ?>
    bekomme aber folgende Fehlermeldung:

    Kann mir jemand helfen??

    Gruß Fooulaz
     
  6. => $überprüfen=$_POST

    $_POST ist ein Array, du brauchst aber für die Überprüfung nur einen Teil des Array's.

    Sollte eigentlich $_POST[Eingabe] sein, nen anderes Input sehe ich nicht ;)
     
  7. Ach :|

    Sehe doch vor lauter Bäumen den Wald nicht! lol
    Aberjetzt kommt die Fehlermedung

    authentifizierung2.php Neu:

    Code:
    <?php
    
     include ../../php_includes/konfigurationfooulaz.php;
    
     if(get_magic_quotes_gpc()) {
    	 array_stripslashes($_POST);}
    
    	 $überprüfen=$_POST[Eingabe];
    
    $query = SELECT authzahl FROM authentifizierung WHERE authzahl =->.mysql_real_escape_string($überprüfen).';
    $result = mysql_query($query) OR die (Bitte Feld richtig ausfüllen!!);
    
    if ($query == true) { header (Location:../FooulazGUESTBOOK.php); }
    
    ?>
    Was nu? :-\
     
  8. auch so funktioniert es nicht:

    Code:
    <?php
    
     include ../../php_includes/konfigurationfooulaz.php;
    
     if(get_magic_quotes_gpc()) {
    	 array_stripslashes($_POST);}
    
    	 // $überprüfen=$_POST[Eingabe];
    
    $query = SELECT authzahl FROM authentifizierung WHERE authzahl =->.mysql_real_escape_string($_POST['Eingabe']).';
    $result = mysql_query($query) OR die (Bitte Feld richtig ausfüllen!!);
    
    if ($query == true) { header (Location:../FooulazGUESTBOOK.php); }
    
    ?>
    wieder undefined index Eingabe

    Aber ich hab Eingabe doch vorher in authentifizierung1.php definiert! oder nicht?
    Verstehs nicht was los ist :-?

    muss ich bei:
    auch Eingabe einfügen?? also so:
     
  9. Hab das jetzt mit GET gemacht und nicht mit POST. Komischerweise kommt dann keine Fehlermeldung mit UNDEFINED INDEX EINGABE.

    Jetzt ist es aber so, dass man auf jeden Fall zum Eintragformular weitergeleitet wird, egal was man eingibt!!

    D.h. irgendetwas scheint in meinen SQL-Anweisungen nicht zu funktionieren:

    Code:
    <?php
    
     include ../../php_includes/konfigurationfooulaz.php;
    
     if(get_magic_quotes_gpc()) {
    	 array_stripslashes($_GET);}
    
    	 $überprüfen=$_GET[Eingabe];
    
    $query = SELECT authzahl FROM authentifizierung WHERE authzahl =->.mysql_real_escape_string($überprüfen).';
    $result = mysql_query($query) OR die (Bitte Feld richtig ausfüllen!!);
    
    if ($result != true) { header (Location:../FooulazGUESTBOOK.php); }
    
    ?>
    Nur was? Hab den selben Code auch für den Memberbereich genutzt und musste gerade feststellen, dass er dort auch nicht funktioniert!

    Also Fragen:

    1. Was ist an den SQL Befehlen falsch?
    2. Warum bekomme ich keine Fehlermeldung mit get, aber mit post schon?
     
  10. PHP spricht kein deutsch, und Umlaute kennt es schon 2ma nicht ;)
     
Die Seite wird geladen...

Links verbieten - Ähnliche Themen

Forum Datum
Befehl zum Kopieren von LInks Windows 10 Forum 19. Feb. 2016
Firefox öffnet keine Google-Links Web-Browser 3. Feb. 2016
Schwarzer Bildschirm! Blinkender Strich, links oben. Black Screen of Death! Windows 8 Forum 10. Apr. 2015
Meldung beim Öffnen von Links Microsoft Office Suite 29. Dez. 2014
Farbe des angeklickten Links ändern Windows 7 Forum 19. Dez. 2013