[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[gelöst] Lesbare Emailadressen beim Community Addon - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
echi
Beiträge: 130
Registriert: 15. Aug 2011, 11:31
Wohnort: Engstingen

[gelöst] Lesbare Emailadressen beim Community Addon

15. Feb 2012, 16:21

Hallo Forum,

man sollte auf seiner Homepage doch keine auslesbaren Emailadressen (also z.b. mailto-Links) schreiben, oder?

Ich wollte mit dem XForm ein Kontaktformular auf unserer Homepage machen.
Was heißt "ich wollte"? Ich habs natürlich auch gemacht.

Am Anfang des Formulars kann der Besucher den "Ansprechpartner" auswählen. Also ein Select-Feld, indem er z.b. "Büro" oder "Service" auswählen kann. Dann wird die entsprechende Emailadresse in der Variable addr_to abgelegt.

So siehs also im Backend aus:

Code: Alles auswählen

select|adr_to|Ansprechpartner|Büro=x@domain.de,Service=y@domain.de
(...)
action|db2email|kontakt|adr_to
Im Fronend wird daraus folgender Quelltext:

Code: Alles auswählen

<select name="FORM[formular][el_0]" size="1" id="xform-formular-field-0" class="select ">
    <option value="x@domain.de">Büro</option>
    <option value="y@domain.de">Service</option>
</select>
Die Emailadressen sind also auslesbar.
Lässt sich das irgendwie vermeiden?
Oder wäre es besser, zwei Email-Templates anzulegen. Eines fürs Kontaktformular ans Büro und eines fürs Kontaktformular an den Service?

Wie löst Ihr das?
Zuletzt geändert von echi am 27. Feb 2012, 12:03, insgesamt 1-mal geändert.
Grüße
echi

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Lesbare Emailadressen beim Community Addon

15. Feb 2012, 16:48

Hi,

guck dir mal Andis XOuputFilter an. Der zerbröselt dir die E-Mail Adressen:

http://www.redaxo.org/de/download/addons/?addon_id=420
Plugin Import/Export aktivieren und "beispiele_frontend.csv" importieren...

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
echi
Beiträge: 130
Registriert: 15. Aug 2011, 11:31
Wohnort: Engstingen

Re: Lesbare Emailadressen beim Community Addon

16. Feb 2012, 12:31

Oliver.Kreischer hat geschrieben:Hi,

guck dir mal Andis XOuputFilter an. Der zerbröselt dir die E-Mail Adressen:

http://www.redaxo.org/de/download/addons/?addon_id=420
Plugin Import/Export aktivieren und "beispiele_frontend.csv" importieren...

LG
Oliver
Hi,

danke für den Hinweis.
Ich hab aber keine Idee, wie das anzuwenden ist bzw. was das Addon genau macht :oops:
Kannst du mir einen kleinen Schubs in der richtige Richtung geben?
Grüße
echi

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Lesbare Emailadressen beim Community Addon

16. Feb 2012, 12:38

- Addon installieren und aktivieren
- die Plugins "frontend" und "import_export" aktivieren
- links in der Navigation auf "XOutPutfilter" klicken
- Import/Export auswählen
- runterscrollen und "beispiele_frontend.csv" importieren
- Frontend auswählen
- gucken ob "Beispiel_010" aktiviert iost (wenn nicht aktivieren)
- im Quellcode deiner Seite (Frontend) sollten die Mail Adressen jetzt verschlüsselt sein.

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
echi
Beiträge: 130
Registriert: 15. Aug 2011, 11:31
Wohnort: Engstingen

Re: Lesbare Emailadressen beim Community Addon

17. Feb 2012, 08:57

Hallo,

ich danke dir für deine Erklärung.
Ich habe die Plugins nicht gesehen und darum konnte ich zunächts nichts mit dem Addon anfangen :oops: :oops:

Jetzt hab ich alles soweit nachinstalliert, beispiel_010 aktiviert, aber die Emailadressen stehen trotzdem im Klartext im Quellcode.

Ich dachte, das wäre soweit logisch, da beispiel_010 nach "mailto:" sucht und in meinem Formular steht ja nicht mailto, sondern die Emailadressen werden in einer Selectbox ausgewählt. Also so stehts im Quelltext:

Code: Alles auswählen

<option value="office@domain.de">Büro</option>
Also habe ich bei dem Marker statt "mailto" diese Regexpr. eingegeben:

Code: Alles auswählen

^.*@domain.de$
Da ändert sich aber auch garnichts.
Die Emailadressen stehen trotzdem im Klartext im Quellcode.

Zum Test habe ich eine rsetzung angelegt
Marker: ".*"
Ersetzung: "xxx"
Der Test sollte doch, wenn aktiviert, alle Texte mit 'xxx' ersetzen :?:
Oder hab ichs falsch verstanden?

Kannst du mir bitte nochmals weiterhelfen?
Grüße
echi

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

Re: Lesbare Emailadressen beim Community Addon

17. Feb 2012, 10:02

Sorry. Hier muss ich passen.

Vielleicht jemand anderes?

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Benutzeravatar
echi
Beiträge: 130
Registriert: 15. Aug 2011, 11:31
Wohnort: Engstingen

Re: Lesbare Emailadressen beim Community Addon

17. Feb 2012, 10:17

Lassen sich denn Spambots austricksen, wenn ich die Emailadressen mit Unicode "verschlüsseln" tu?

Also aus

Code: Alles auswählen

office@domain.de
wird

Code: Alles auswählen

&#111;&#102;&#102;&#105;&#099;&#101;&#064;&#100;&#111;&#109;&#097;&#105;&#110;&#046;&#100;&#101;
Oder würd ich mir da nur unnötig Arbeit machen und der Spambot erkennt trotzdem die Emailadresse ohne weiteres?
Grüße
echi

jackomono
Beiträge: 194
Registriert: 15. Apr 2007, 18:32
Wohnort: Hamburg
Kontaktdaten: Website

Re: Lesbare Emailadressen beim Community Addon

17. Feb 2012, 10:53

Ob das ganze Sinn macht oder nicht, solltest Du Dir vielleicht besser ergoogeln, wenn Dir der Installationsaufwand des AddOns zu groß ist (und der ist nicht sonderlich groß).
Du wirst auf diverse Meinungen stoßen, letztendlich musst Du das aber für Dich und Deinen Kunden selben entscheiden.
Ich z.B. verschlüssel die eMailadressen nicht, kenne aber viele Entwickler, die deswegen entsetzt die Hände über dem Kopf zusammenschlagen :)

Gruß
Jakob

Benutzeravatar
echi
Beiträge: 130
Registriert: 15. Aug 2011, 11:31
Wohnort: Engstingen

Re: Lesbare Emailadressen beim Community Addon

17. Feb 2012, 13:09

Hallo jackomono,

danke für Deinen Beitrag :D

Der Installationsaufwand des Addons 'XOutputFilter' ist mir nicht zu hoch.
Ich habe es ja auch bereits installiert und aktiviert.
Nur sind die Emailadressen im Quelltext der Auswahlbox vom Kontaktformular nach wie vor lesbar.
Entweder ich verstehe die Funktionsweise des Addons nicht, oder es funktioniert eben nicht mit Emailadressen, die im 'value' Attribut eines 'otion' Elements stehen...?

Da die Emailadressen immernoch lesbar sind, hab ich gegoogelt, wie man diese noch vor Spambots verstecken kann. Auf einer Seite hab ich den Tipp mit der Konvertierung in Unicode gefunden.....

Hat jemand noch einen Tipp für mich?
Ist ja gut möglich, dass ich das Addon falsch einsetzte und durch einen Schubs in die richtige Richtung von jemandem aus dem Forum, wäre es auch mir möglich, die Emailadressen unlesbar zu machen.
Grüße
echi

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: Lesbare Emailadressen beim Community Addon

17. Feb 2012, 14:23

Hi echi,

Die E-Mail-Adresse wird in ein Unicode umgewandelt sodass es nicht mehr ganz so leicht für einen Bot ist die E-Mai zu erkennen. Du bemerkst davon nichts, es wird vom Browser für Menschen lesbar angezeigt.

Eine Sicherheit gewährleiste ich damit allerdings nicht! Die Bot-Entwickler schlafen auch nicht und entwickeln ständig neue Bots, um trotzdem an Adressen zu kommen. Trotzdem hilft dieses Addon ein wenig, um sich gegen Angriffe zu schützen.

Wie schon von jackomono gesagt gibt es Leute die es nicht Verschlüsseln, schaden kann es aber trotzdem nichts.

Gruß

Seb

Benutzeravatar
frag-seb
Beiträge: 211
Registriert: 27. Sep 2011, 17:53
Wohnort: München
Kontaktdaten: Website

Re: Lesbare Emailadressen beim Community Addon

18. Feb 2012, 00:41

Ich konnte es ja jetzt nicht lassen.

Also so sollte es kein Bot mehr lesen können.
Muss jetzt nur noch jemand in xForm einbauen, mal schauen, ob ich nach Fasching einen klaren Kopf hab.

Code: Alles auswählen


<?php
function bot_schutz($email){
	
	$teile = explode("@", $email);	
	echo'
		<script type="text/Javascript">
			var a = "<option value=\'";
			var b = "' . $teile[0] . '";
			var c = "' . $teile[1] .'";
			var d = "\'>";
			var e = "</option>";	
			
		document.write(a+b+"@"+c+d+b+"@"+c+e);
		</script>
		<noscript>Javascript an machen, Mensch!</noscript>
		';
		
	
}

?>

<select name="FORM[formular][el_0]" size="1" id="xform-formular-field-0" class="select ">

<?php 
		bot_schutz("test@example.com");
		bot_schutz("muster@example.com");
?>
</select>

Vielleicht, aber auch nur vielleicht ist das Zuviel des Guten :-)

Gruß
Seb

Benutzeravatar
echi
Beiträge: 130
Registriert: 15. Aug 2011, 11:31
Wohnort: Engstingen

Re: Lesbare Emailadressen beim Community Addon

20. Feb 2012, 00:08

Danke :D

Ich hab die Lösung von frag-seb leider zu spät gelesen und habe es für mich so gelöst.

1. Für die xform eine neue Action 'contact' gebastelt

Code: Alles auswählen

<?php
class rex_xform_action_contact extends rex_xform_action_abstract
{
  
  function execute()
  {

    global $REX;

    $template_name = $this->getElement(2);

    if($etpl = rex_xform_emailtemplate::getTemplate($template_name))
    {

      // ----- find mailto
      $mail_to = $REX['ERROR_EMAIL']; // default

      // finde email label in list
      if ($this->getElement(3) != FALSE && $this->getElement(3) != "")
      {
        foreach($this->params["value_pool"]["email"] as $key => $value)
          if ($this->getElement(3)==$key)
          {
            $mail_to = $value;
            break;
          }
      }
      
      // ---- fix mailto from definition
      if ($this->getElement(4) != FALSE && $this->getElement(4) != "")
        $mail_to = $this->getElement(4);
        $mail_to = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, 'irgendeinString', base64_decode($mail_to), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))); 
    
      $etpl = rex_xform_emailtemplate::replaceVars($etpl,$this->params["value_pool"]["email"]);
    
      $etpl['mail_to'] = $mail_to;
      $etpl['mail_to_name'] = $mail_to;
      
      if($etpl['attachments'] != "")
      {
        $f = explode(",",$etpl['attachments']);
        $etpl['attachments'] = array();
        foreach($f as $v)
        {
          $etpl['attachments'][] = array("name"=>$v,"path"=>$REX["INCLUDE_PATH"].'/../../files/'.$v);
        }
        
      }else
      {
        $etpl['attachments'] = array();
      }
      
      if ($this->params["debug"])
      {			
        echo "<hr /><pre>"; var_dump($etpl); echo "</pre><hr />"; 
      }
      
      if(!rex_xform_emailtemplate::sendMail($etpl))
      {
        echo "Fehler beim E-Mail Versand";
        return FALSE;
      }

      return TRUE;
    
    }

    return FALSE;

  }

  function getDescription()
  {

    return "action|contact|emailtemplate|emaillabel|[email@domain.de]";

  }

}
2. In der Formulardefinition steht dann sowas drinnen:

Code: Alles auswählen

select|receiver|Empfänger|Allgemeine Anfrage ans Büro=BtCZa6DiWEvH9aJJkXsL9z2+7v2dgzWl08IQI0N/JGA=,Zweite Emailadresse=BtCZa6DiWEvH9aJJkXsL9z2+7v2dgzWl08IQI0N/JGA=
(...)
action|contact|contact|receiver
3. Durch Aufruf der Action 'contact' wird die Emailadresse in der Variable 'receiver' entschlüsselt.


Achja:
Emailadressen mit fog. Funktion verschlüsseln:

Code: Alles auswählen

$encrypted = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, 'irgendeinString', $text , MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)))); 
und in die Formulardefinition eintragen.
Grüße
echi

Zurück zu „Allgemeines [R4]“