Seite 1 von 1

Urls in Beiträgen erkennen für Criccas Guestbook

Verfasst: 23.10.2007 06:05
von Skippy
Ich suche für einen MOD (Criccas Guestbook) einen weg geziehlt urls erkennen

Ich muss nicht wissen wo sie anfangen und wo genau sie enden ich muss nur zuverlässig nen weg finden, zu erkennen ob welche drin sind oder nicht.

Es geht darum das man im Mod ja Beiträge so einstellen kann das sie erst freigeschaltet werden müssen.
ich möchte zusätzlich die Option anbieten das nur Beiträge freigeschaltet werden müssen
wenn der name in wirklichkeit ne url ist oder im Text ne url vorkommt.

Verfasst: 26.10.2007 20:19
von metty84
spamposts? ja das kennt jeder der den mod nutz! einfachste und wirksamste gegenmaßnahme: benene die guestbook.php um. einfach nen beliebigen namen dafür nehmen wie z.b. lmaa.php und schon findens die robots nichmehr!

vergiss aber nicht inerhalb der datei noch die dateinamen genauso zu verändern (einfach ersetzen gegen den neuen) und in der page_header.php noch den dateinamen ändern und schon lasen dich die bösen spambots in ruhe!

mfg metty

Verfasst: 27.10.2007 07:20
von Skippy
Ähhm das ist zwar ne Lösung für jeden einzeln an sich

Ich Pflege aber diesen MOD die gesuchte funktion soll in die nächste Version einfließen
daher hilft mir dein ratschlag leider nicht weiter

dennoch danke für deine Antwort

Verfasst: 28.10.2007 18:41
von metty84
das hätteste ja mal sagen können...

gut zum erkennen eines strings in einem anderen string kanst du z.b. die funktion strpos() verwenden diese

z.b. so

Code: Alles auswählen

$text = "der text den der autor des beitrages eingegeben hat und dir nen schönen link mit reingebastelt hat http://irgendwas.lmaa.de" ;
$check_url = strpos($text, "http");

if ( $check_url != FALSE )
{

##hier kommt dann halt dein code rein der den beitrag so speichert das er erst freigeschalten werden muss.

}


mfg metty

Verfasst: 03.11.2007 03:50
von metty84
und hats was genützt?

Verfasst: 14.11.2007 22:00
von Skippy
nein, ne einfache Abfrage ob die zeichenfolge http im text vorkommt reicht mir nicht

bisher habe ich mir das zusammengebastelt

Code: Alles auswählen

		if( $guest_config['hide_posts'] == 2 )
		{

			if( $email == '' && $sito == '' && !preg_match('#^http\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $comento) )
			{
				$hide = 0;
			}

			if( !preg_match('/(http://)([A-Za-z0-9.-_/]{3,})(.)([A-Za-z]{2,3})([A-Za-z0-9.-_/]{0,})b/', $comento) )
			{
				echo 'Hide = '. $hide .'Problem mit preg_match';
				$hide = 0;
			}

		}

kurz erklärt die felder email und webseite teste ich nur ob sie leer sind oder nicht
der Kommentar wird dann auf urls getestet wenn keine drin sind wird hide=0 gesetzt
damit wird der beitrag öffentlich gemacht
im Übrigen hide=1 wird im code schon an anderer stelle gesetzt
der zweite test is eher ne überprüfung welcher effektiver arbeitet

Verfasst: 15.11.2007 00:57
von metty84
dan machste halt 2 abfragen einmal nach "http" (ohne doppelpunkt dan ist auch https abgesichert) und eine nach "www" eines von beiden muss in der url vorkommen sonst würde der link nicht funzen