eMail BBCode Anti-Spam

SvPe
Titel: eMail BBCode Anti-Spam
Version: 1.1
Beschreibung: Was macht der Hack?
Dieser Hack aendert den [email] BBCode:
Die eMail Adresse wird so verschluesselt, dass die mei(ss)ten Spam Roboter Sie
nicht mehr lesen koennen.
Benutzer koennen diese eMail Adresse weiterhin anklicken.
Es aendert sich fuer Sie absolut nichts.


Was brauche ich fuer den Hack?
ein wBB 2.3 (es kann sein das er auch mit wBB 2.2 oder 2.1 funktioniert)

Gibt es irgendwo einen Copyright Verweis?
Nein!

Und was darf ich damit machen/nicht machen?
Du darfst mit diesem Hack absolut ALLES machen was du willst.
Es ist mir total egal wie du ihn wo und wann weiterverbreitest/benutzt/...
Warum? Weil ich fuer diesen Hack etwa 5 Minuten gebraucht hab Augenzwinkern

!!ACHTUNG!!
Ich hafte nicht fuer Schaeden (nicht nur, aber auch Datenverlust) die durch
die Benutzung dieses Hacks entstehen.
DU BENUTZT DIESEN HACK AUF EIGENE GEFAHR!
Wenn du den Hack benutzt erklaerst du dich mit allen Punkten einverstanden!
Falls du mit einem oder mehreren Punkten nicht einverstanden bist, darfst du
den Hack nicht benutzen!


Wo gibt es Support fuer den Hack?
In dem entsprechenden Thread auf Y******.

Changelog
Version 1.1
-Bugfix: Wenn man [ email=bla@blubb.de]Test's email[/ email] eingegeben hat, kam dabei Test\'s eMail heraus.

Update von Version 1.0 auf Version 1.1
In der acp/lib/functions.php:
Suchen nach:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
/**
 * This function generate a email tag (<a href="mailto:...) with an mail
 * address that spam roboters cannot read (see getASCIICodeString)
 *
 * @param string $mail the mail address
 * @param optional string $desc the description (<a href="....">DESCRIPTION</a>)
 * @return string the mail <a> tag
 * @author Sven Peter <svenpeter@gmail.com>
 * @copyright none ;) (a copyright for this little function is imho useless)
 */
function format_mail_tag($mail$desc='')
{
Danach einfügen:
php:
1:
$desc stripslashes($desc);


Dann nochmal den MySQL Befehl bzw. die Datei neu erstellen und ausführen damit der postcache wieder geleert wird.
----


weiter zum Download
OF-Shadow
Hallo SvPe!

Diesen Hack finde ich sehr sinnvoll und gratuliere dir hiermit mal dazu großes Grinsen

Hab einen Fehler gefunden:

Beschreibung beim E-Mail Code wird so ausgegeben:

Shadow\'s Mail
SvPe
Zitat:
Original von OF-Shadow
Hallo SvPe!

Diesen Hack finde ich sehr sinnvoll und gratuliere dir hiermit mal dazu großes Grinsen

Hab einen Fehler gefunden:

Beschreibung beim E-Mail Code wird so ausgegeben:

Shadow\'s Mail


Danke!

In der acp/lib/functions.php:
Suchen nach:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
/**
 * This function generate a email tag (<a href="mailto:...) with an mail
 * address that spam roboters cannot read (see getASCIICodeString)
 *
 * @param string $mail the mail address
 * @param optional string $desc the description (<a href="....">DESCRIPTION</a>)
 * @return string the mail <a> tag
 * @author Sven Peter <svenpeter@gmail.com>
 * @copyright none ;) (a copyright for this little function is imho useless)
 */
function format_mail_tag($mail$desc='')
{

Danach einfügen:
php:
1:
$desc stripslashes($desc);


Dann nochmal den MySQL Befehl bzw. die Datei neu erstellen und ausführen damit der postcache wieder geleert wird.
Die Textdatei wird gleich gefixt!
Sledgi
Ich finde diese stelle nicht

acp/lib/class.parse.php Suchen nach:
$this->search[] = "/\[url]([^\"]+)\[\/url\]/eiU"; $this->replace[] = "\$this->formaturl('\\1')"; $this->search[] = "/java script:/i"; $this->replace[] = "java script:"; $this->search[] = "/vb script:/i"; $this->replace[] = "vb script:"; $this->search[] = "/about :/i"; $this->replace[] = "about :";

Ich habe mal meine class.parse hinzugefügt
OF-Shadow
Suche mal nach:
php:
1:
$this->replace[] = "about :";
Sledgi
gibt es auch nicht
OF-Shadow
Hier die geänderte class_parse.php Freude
Sebastian
werden die email adressen nicht sowieso schon so ausgegeben das email bots sie nicht lesen können?

hatte sowas mal auf woltlab forum gelesen.
SvPe
Zitat:
Original von Sebastian
werden die email adressen nicht sowieso schon so ausgegeben das email bots sie nicht lesen können?

hatte sowas mal auf woltlab forum gelesen.


Ja, allerdings nicht wenn man den [email] BBCode benutzt.
Dort werden die normalerweise ganz normal ausgegeben.
Und genau das ändert dieser Hack Augenzwinkern
stepreis
erstmal danke für den hack...
bin nun auch mal dazu gekommen, diesen einzubauen und er funktioniert soweit auch einwandfrei...

bin mir jetzt nicht sicher ob es da noch ein problem intern im wbb gibt, was die länge der zeichen in einem post betrifft...

stephan@artists-mediadesign.de

weiss jetzt auch nicht, ob dieser hack hier eingebaut ist, aber wenn ich meine komplette email adresse so einsetze wie hier oben drüber, wird vor der letzten schliessenden ] automatisch ein <br /> gesetzt und somit wird das ganze hinfällig...

ich glaube mich daran erinnern zu können, dass ab der 2.3er version einige darstellungsfehler "behoben" wurden und dieser automtische zeilenumbruch in posts eingeführt wurde, damit niemand das foren style zerreissen kann, indem er hunderte von zeichen ohne leerzeichen eingibt...

vielleicht einen lösungsansatz hierfür?

gruss vom step
OF-Shadow
Achtung: Funzt bei mir nicht mit WBB 2.3.4 !!!!
SvPe
Damit kann ich leider garnichts anfangen.
Was funktioniert bei dir denn nicht im wBB 2.3.4? Kommt irgendeine Fehlermeldung?
stepreis
es kommt folgende fehlermeldung:

Zitat:
Parse error: syntax error, unexpected '[' in /www/htdocs/stepreis/acp/lib/class_parse.php(276) : regexp code on line 1

Fatal error: preg_replace(): Failed evaluating code: in /www/htdocs/stepreis/acp/lib/class_parse.php on line 276


auslöser ist u.a. diese änderung laut changelog in der class_parse.php:

Zitat:
(Zeile 242-244) Suche nach:
---------------------------
if ($allowbbcode == 1) {
$post = $this->cacheURLs($post);
}

Und ersetze es mit:
-------------------
// avoid bbcode wrapping
if ($allowbbcode == 1) {
if ($this->done['bbcode'] != 1) $this->getbbcode();
$post = preg_replace($this->search, $this->replace2, $post);
if ($allowimages != 0) $post = preg_replace($this->imgsearch2, $this->imgreplace2, $post);
}


gruss vom step
SvPe
Danke, ich werd mir das Problem mal nächstes Wochende angucken!
Xannasavin
servus!
nachdem ich das update auf 2.3.4 durchgeführt hab, zickt der hack bei mir...

sobald ich das hier einbaue

code:
1:
2:
3:
4:
5:
6:
		$this->search[] = '/\[email](.*)\[\/email\]/esiU';
		$this->replace[] = 'format_mail_tag("\\1")';
		$this->search[] = "/\[email=(&quot;|['\"]?)([^\"']+)\\1](.*)\[\/email\]/esiU";
		$this->replace[] = 'format_mail_tag("\\2", "\\3")';


werden die Signaturen 2-3x angezeigt, ausserdem gehen farbformatierungen verloren, und es wird zerhäckselter bb-code angezeigt, der teilweise gar nix drin zu suchen hat...

also hauptsächlich in den signaturen ist mir das aufgefallen Augenzwinkern
Suomi
Zitat:
Original von Xannasavin
servus!
nachdem ich das update auf 2.3.4 durchgeführt hab, zickt der hack bei mir...

sobald ich das hier einbaue

code:
1:
2:
3:
4:
5:
6:
		$this->search[] = '/\[email](.*)\[\/email\]/esiU';
		$this->replace[] = 'format_mail_tag("\\1")';
		$this->search[] = "/\[email=(&quot;|['\"]?)([^\"']+)\\1](.*)\[\/email\]/esiU";
		$this->replace[] = 'format_mail_tag("\\2", "\\3")';


werden die Signaturen 2-3x angezeigt, ausserdem gehen farbformatierungen verloren, und es wird zerhäckselter bb-code angezeigt, der teilweise gar nix drin zu suchen hat...

also hauptsächlich in den signaturen ist mir das aufgefallen Augenzwinkern


Jo,ist bei mir auch so.Auch 2.3.4.
Gibts da schon eine lösung?

Wird das thema nicht mehr suportet??
Keiner eine Antwort darauf?

Gruß
Suomi
D_K
Hallo,

hab auch 2.3.4 und die selben Probleme wie meine beiden Vorredner.

Gibts da schon ne Lösung ? Sonst muss ich dat dingen wieder ausbauen. Sieht ja schrecklich aus wenn man bbcodes benutzt.

Greetz

DK
Flauschi
Also in meinem WBB 2.3.5 funzt das auch leider nicht. Wird das noch supported ? Scheint mir leider nicht der Fall...
Windapple
Ich hab den Fehler gefunden.

In der class_parse.php $this->replace2[] = "\\0"; suchen.
Fügt darunter das ein:

php:
1:
2:
$this->replace2[] = "'$this->breakChar[email]$this->breakChar' . \$this->insertBreakChar('\\1') . '$this->breakChar[/email]$this->breakChar'";
        $this->replace2[] = "'$this->breakChar[email=\\1$this->breakChar'.\$this->insertBreakChar('\\2').'$this->breakChar\\1]$this->breakChar'.\$this->stripSlashes('\\3').'$this->breakChar[/email]$this->breakChar'";
T-Mc
Hallo,

sorgt dieser Hack auh dafür dass wenn ich über ACP E-Mail an alle Benutzer mache diese dann nciht von Spam Robotern ausgelesen werden?

Oder was bedeutet das nur über BBCode?

Danke schonmal

T-Mc