Page 1 of 1

[HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Jan 21, 2016 10:53 am
by CrazyBread
Hallo zusammen,

Vorneweg: Reicht es, meine Beiträge nur im Deutschen Forum zu posten oder soll ich Änderungen / Plugins / Themes im
Englischen und Deutschen Bereich veröffentlichen? Diesen Beitrag habe ich nämlich auch im englischen Forum veröffentlicht.

Nun aber zum Thema:
Ich habe die Datei '[ROOT]/kernel/abstract/content.class.php' erweitert.

In der Funktion "content" rufe ich meine Funktion auf um die im Text enthaltenen Mailadressen zu finden und zu kodieren.

Code: Select all

Line 103 $content = $this->getField('content');
Line 104 $content = $this->htmlizeEmails($content);
Nachfolgend meine Mailadressen (einfach nach der Funktion "content" einfügen):

Code: Select all

	//Finds email addresses in content
	//Replace every email address with HTML-ASCII Code
	private function htmlizeEmails($text)
	{
		preg_match_all('/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})/', $text, $potentialEmails, PREG_SET_ORDER);

		$potentialEmailsCount = count($potentialEmails);
		for ($i = 0; $i < $potentialEmailsCount; $i++) {
			if (filter_var($potentialEmails[$i][0], FILTER_VALIDATE_EMAIL)) {
				$ascii_mail_address = $this->encode_email_address($potentialEmails[$i][0]);
				$text = str_replace($potentialEmails[$i][0], $ascii_mail_address, $text);
			}
	    	}
	    return $text;
	}

	//Encode a given string in HTML-ASCII
	private function encode_email_address($email)
	{
		$result = '';
		for ($i = 0; $i < strlen($email); $i++)
		{
			$result .= '&#'.ord($email[$i]).';';
		}
		return $result;
	}
Funktioniert wunderbar,
ich hoffe euch gefällt es und vielleicht schafft es das Feature in den Hauptcode.

Grüße,

CrazyBread

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Jan 21, 2016 12:31 pm
by Edi
Besser finde ich, etwas von allgemeinem Interesse im englischen Forum zu posten, vielleicht mit einem Hinweis hier im deutschen Forum auf den englischen Beitrag (wenn er beispielsweise längeren Code enthält). Einen kurzen Hinweis auf ein neues Plugin oder Theme kannst Du gerne hier wie dort posten.

Aber Du kannst das machen, wie es Dir beliebt.

Um etwas direkt zu besprechen, auch mit Diego, bietet sich der Chat bei Gitter an:

https://gitter.im/dignajar/bludit

Und: Danke für den Hack!

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Jan 28, 2016 2:04 pm
by CrazyBread
Ich habe inzwischen ein Plugin daraus gebastelt und bereits ein Pull Request abgesetzt.

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Jan 28, 2016 9:28 pm
by Edi
Danke! Werde ich gerne testen!

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Fri Jan 29, 2016 1:56 pm
by CrazyBread
https://github.com/dignajar/bludit-plugins

>> encodemail

Ich freue mich jederzeit über Verbesserungsvorschläge.
Möglich wäre noch die Option, Email-Adressen automatisch in Links umzuwandeln.

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Mar 03, 2016 10:05 am
by cbmainz
Hi,

wie sehe ich denn, ob das Plugin funktioniert? Ich sehe, nach dem ich es aktiviert habe, keinen Unterschied.

Grüße
Christopher

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Mar 03, 2016 10:16 am
by CrazyBread
Hi!

Schau in den Quellcode deiner Seite (Bei Chrome zum Beispiel rechtsklick >> "Seitenquelltext anzeigen")

Image

Re: [HACK] Email Adressen kodieren um SPAM-Mails zu verhindern

Posted: Thu Mar 03, 2016 10:25 am
by cbmainz
Ah, okay, danke. Dann geht es wohl.