nabo: url-Eintrag in Formularfeld verhindern

Hi,
hat hier jemand einen Vorschlag, mit dem es Nutzern eines Portals unmöglich gemacht wird, das Namensfeld oder auch andere Formularfelder dazu zu mißbrauchen, ihre eigene URL zu posten? Also, wie schließe ich den www-Eintrag in einem Formularfeld aus?
herzlichen Dank schon im Voraus
nabo

  1. Hallo nabo,

    hat hier jemand einen Vorschlag, mit dem es Nutzern eines Portals unmöglich gemacht wird, das Namensfeld oder auch andere Formularfelder dazu zu mißbrauchen, ihre eigene URL zu posten? Also, wie schließe ich den www-Eintrag in einem Formularfeld aus?

    Auf der Clientseite gar nicht. pattern könnte eine Möglichkeit sein. ‚www‘ muss allerdings nicht Bestandteil der URL sein. Du kannst nur, nachdem die Daten auf dem Server gelandet sind, schauen ob unerwünschte Zeichenketten wie ‚http://‘ oder ‚www‘ enthalten sind und darauf entsprechend reagieren.

    Bis demnächst
    Matthias

    --
    Signaturen sind bloed (Steel) und Markdown ist mächtig.
    1. Moin!

      Hallo nabo,

      hat hier jemand einen Vorschlag, mit dem es Nutzern eines Portals unmöglich gemacht wird, das Namensfeld oder auch andere Formularfelder dazu zu mißbrauchen, ihre eigene URL zu posten?

      Schreib Dir meinen, jedenfalls für mich recht ordentlich arbeitenden Spamfilter um. Hinweis: Das Ding ist eine Jugendsünde. Nicht unsicher, aber vom Stil her grottenschlecht:

      <?php
      function ftx_is_spam($str) {
      
      	# Muster: Eintrag beginnt mit Link:
      	$arMuster[]='^http:\/\/';
      	$arMuster[]='^<a href';
      	$arMuster[]='^\[url=';
      	#3 Links:
      	$arMuster[]='http:\/\/.*http:\/\/.*http:\/\/';
      	
      	#5 Sonderzeichen aufeinander
      	$arMuster[]='&#[0-9A-F]{2,3};&#[0-9A-F]{2,3};&#[0-9A-F]{2,3};&#[0-9A-F]{2,3};&#[0-9A-F]{2,3};';
      	
      	#Spam-Begriffe
      	$arMuster[]='tramadol]';
      	$arMuster[]='viagra';
      	$arMuster[]='cialis';
      	$arMuster[]='prozac';
      	$arMuster[]='pharmacy';
      	$arMuster[]='fluotextine';
      	$arMuster[]='charts';
      	$arMuster[]='investing';
      	$arMuster[]='cheap';
      	$arMuster[]='sacher[- ]finanz';
      	$arMuster[]='thepowerlevel.com';
      	$arMuster[]='well-racking.com';
      	$arMuster[]='hcracking.com';
      	$arMuster[]='doxyciline';
      	$arMuster[]='investment';
      	$arMuster[]='trading';
      	$arMuster[]='profit';
      	$arMuster[]='dollars';
      	$arMuster[]='farming';
      	$arMuster[]='watches';
      	$arMuster[]='replica';
      	$arMuster[]='gucci';
      	$arMuster[]='click here';
      	$arMuster[]='stock price';
      	$arMuster[]='trading software';
      	$arMuster[]='your profit is fully maximized';
      
      	# excec!
      		
      	$replace['i']='########I#######';
      	$replace['l']='########I#######';
      	$replace['o']='########O#######';
      	$replace['a']='########A#######';
      	$replace['c']='########C#######';
      	$replace['z']='########C#######';
      	
      	$replace['########I#######']='[il1]';
      	$replace['########O#######']='[o0]';
      	$replace['########A#######']='[a@]';
      	$replace['########C#######']='[czxs]';
      	
              $str=trim(strtolower($str)); 
              $arKeys=array_keys($replace);
      	
      	foreach ($arMuster as $strMuster) {
      	        foreach ($arKeys as $key) {
      	             $strMuster=str_replace($key, $replace[$key], $strMuster);
      	        }
      		if (preg_match('/'.$strMuster.'/',  $str)) { 
      			return true;
      		}
      	}
      	return false;
      }
      

      Eingabe durch die Funktionen jagen, kommt true zurück ist es Spam.

      Jörg Reinholz

  2. hat hier jemand einen Vorschlag, mit dem es Nutzern eines Portals unmöglich gemacht wird, das Namensfeld oder auch andere Formularfelder dazu zu mißbrauchen, ihre eigene URL zu posten? Also, wie schließe ich den www-Eintrag in einem Formularfeld aus?

    Freischaltung des Eintrags nur nach Sichtprüfung.

    1. Vielen herzlichen Dank für Eure schnellen Antworten. Werden dann eben zukünftig weiter kontrollieren müssen. Schade! Weiterhin viel Spass im Forum und möglichst viele gelungene Lösungen nabo