• OpenCore Dev

  • email obfuscation

    from cabraham on 2008-05-16 11:54
    Hi,
    Recently we had a complaint from a user that email addresses were  
    being exposed in the listen archives.  So I have now rigged in an  
    obfuscation function in listen that will obfuscate addresses in the  
    from, subject and body of messages for display purposes.  We now have  
    to decide how we want to obfuscate.  What's the best way to do it for  
    the least amount of trouble.  I've read up on encoding methods,  
    replace('@', '<at>') methods, javascript methods and the google  
    "cabra...@..." method (in which the ... is a link to a  
    captcha).  I think the google method is probably the best but it is a  
    bit of a pain to implement and requires a captcha engine.  So, any  
    votes?  See http://www.alistapart.com/articles/ 
    gracefulemailobfuscation for a good overview of the various options.
    
    Chris
    
    Thread Outline:
  • Re: email obfuscation

    from ianb on 2008-05-16 12:17
    Chris Abraham wrote:
    > Hi,
    > Recently we had a complaint from a user that email addresses were being 
    > exposed in the listen archives.  So I have now rigged in an obfuscation 
    > function in listen that will obfuscate addresses in the from, subject 
    > and body of messages for display purposes.  We now have to decide how we 
    > want to obfuscate.  What's the best way to do it for the least amount of 
    > trouble.  I've read up on encoding methods, replace('@', '<at>') 
    > methods, javascript methods and the google "cabra...@..." 
    > method (in which the ... is a link to a captcha).  I think the google 
    > method is probably the best but it is a bit of a pain to implement and 
    > requires a captcha engine.  So, any votes?  See 
    > http://www.alistapart.com/articles/gracefulemailobfuscation for a good 
    > overview of the various options.
    
    I think there actually exists a CAPTCHA service for this, where the user 
    clicks through with an encrypted link.  But I can't remember the name of it.
    
    Otherwise I would prefer Javascript obfuscation, where you use 
    document.write to write out the email.  I think there's a more advanced 
    version that actually encrypts it, and requires some effort to decrypt 
    (which only happens if you actually click on the email).  OTOH, things 
    that take "some effort" in Javascript take little effort in C, but a 
    little obfuscation would add to that.  Also, I don't know what the state 
    of the art in email scraping is, but it's quite possible that there are 
    browser-based bots that can execute Javascript.
    
       Ian
    
    
    • Re: email obfuscation

      from douglas on 2008-05-16 13:53
      Not to mention the fact that a javascript solution doesn't function in  
      script free environments...  Accessibility, and all that...
      
      
      On May 16, 2008, at 12:17 PM, Ian Bicking wrote:
      
      > Chris Abraham wrote:
      >> Hi,
      >> Recently we had a complaint from a user that email addresses were  
      >> being exposed in the listen archives.  So I have now rigged in an  
      >> obfuscation function in listen that will obfuscate addresses in the  
      >> from, subject and body of messages for display purposes.  We now  
      >> have to decide how we want to obfuscate.  What's the best way to do  
      >> it for the least amount of trouble.  I've read up on encoding  
      >> methods, replace('@', '<at>') methods, javascript methods and the  
      >> google "cabra...@..." method (in which the ... is a link  
      >> to a captcha).  I think the google method is probably the best but  
      >> it is a bit of a pain to implement and requires a captcha engine.   
      >> So, any votes?  See http://www.alistapart.com/articles/gracefulemailobfuscation 
      >>  for a good overview of the various options.
      >
      > I think there actually exists a CAPTCHA service for this, where the  
      > user clicks through with an encrypted link.  But I can't remember  
      > the name of it.
      >
      > Otherwise I would prefer Javascript obfuscation, where you use  
      > document.write to write out the email.  I think there's a more  
      > advanced version that actually encrypts it, and requires some effort  
      > to decrypt (which only happens if you actually click on the email).   
      > OTOH, things that take "some effort" in Javascript take little  
      > effort in C, but a little obfuscation would add to that.  Also, I  
      > don't know what the state of the art in email scraping is, but it's  
      > quite possible that there are browser-based bots that can execute  
      > Javascript.
      >
      >  Ian
      >
      >
      >
      > --
      > Archive: http://www.openplans.org/projects/opencore/lists/opencore-dev/archive/2008/05/1210954639166
      > To unsubscribe send an email with subject unsubscribe to opencore-dev@... 
      > .  Please contact opencore-dev-manager@... for  
      > questions.
      >
      >
      > !DSPAM:4037,482db3c5237685210051143!
      >
      
      
      • Re: email obfuscation

        from ianb on 2008-05-16 14:00
        Douglas Mayle wrote:
        > Not to mention the fact that a javascript solution doesn't function in 
        > script free environments...  Accessibility, and all that...
        
        Accessibility for what?  Accessible browsers also run Javascript.  From 
        what I can tell this whole no-javascript==accessibility meme is based on 
        nothing.  Certainly it's far more accessible than a captcha.
        
        Google bots don't run Javascript, but of course that's exactly who we 
        want to hide this from.
        
           Ian
        
        • Re: email obfuscation

          from douglas on 2008-05-16 14:14
          Let's forget about accessibility, then, and talk about good design  
          principles, supporting users with script disabled, and supporting non- 
          mainstream browsers.
          
          I like the article that Josh mentions...  obfuscated in the link,  
          though providing a valid URL that can be used to find out the email  
          address for people, and also providing a javascript unobfuscator for  
          those users with javascript...
          
          On May 16, 2008, at 2:00 PM, Ian Bicking wrote:
          
          > Douglas Mayle wrote:
          >> Not to mention the fact that a javascript solution doesn't function  
          >> in script free environments...  Accessibility, and all that...
          >
          > Accessibility for what?  Accessible browsers also run Javascript.   
          > From what I can tell this whole no-javascript==accessibility meme is  
          > based on nothing.  Certainly it's far more accessible than a captcha.
          >
          > Google bots don't run Javascript, but of course that's exactly who  
          > we want to hide this from.
          >
          >  Ian
          >
          >
          > --
          > Archive: http://www.openplans.org/projects/opencore/lists/opencore-dev/archive/2008/05/1210960830248
          > To unsubscribe send an email with subject unsubscribe to opencore-dev@... 
          > .  Please contact opencore-dev-manager@... for  
          > questions.
          >
          >
          > !DSPAM:4037,482dcc31278795219720167!
          >
          
          
          • Re: email obfuscation

            from cabraham on 2008-05-16 14:57
            I kind of like this solution: http://reliableanswers.com/js/ 
            mailme.asp but it too is javascript dependent.  I'm not overly  
            worried about this since the email addresses we are obfuscating are  
            not actually all that important: "from" addresses in the listen  
            archive only serve to identify who sent the message for nonmembers of  
            the site.  Posts by members use the member's username for the "from"  
            identifier.  I am more concerned about a fallback solution if we  
            decide to obfuscate the list addresses (which I think we should).   
            Maybe we could just go with this javascript solution and then look  
            for a fallback solution if people start to complain.  We could  
            provide a captcha click through for this if we deem it necessary.
            
            Chris
            
            
            
            On May 16, 2008, at 2:14 PM, Douglas Mayle wrote:
            
            > Let's forget about accessibility, then, and talk about good design  
            > principles, supporting users with script disabled, and supporting  
            > non-mainstream browsers.
            >
            > I like the article that Josh mentions...  obfuscated in the link,  
            > though providing a valid URL that can be used to find out the email  
            > address for people, and also providing a javascript unobfuscator  
            > for those users with javascript...
            >
            > On May 16, 2008, at 2:00 PM, Ian Bicking wrote:
            >
            >> Douglas Mayle wrote:
            >>> Not to mention the fact that a javascript solution doesn't  
            >>> function in script free environments...  Accessibility, and all  
            >>> that...
            >>
            >> Accessibility for what?  Accessible browsers also run Javascript.   
            >> From what I can tell this whole no-javascript==accessibility meme  
            >> is based on nothing.  Certainly it's far more accessible than a  
            >> captcha.
            >>
            >> Google bots don't run Javascript, but of course that's exactly who  
            >> we want to hide this from.
            >>
            >>  Ian
            >>
            >>
            >> --
            >> Archive: http://www.openplans.org/projects/opencore/lists/opencore- 
            >> dev/archive/2008/05/1210960830248
            >> To unsubscribe send an email with subject unsubscribe to opencore- 
            >> dev@....  Please contact opencore-dev- 
            >> manager@... for questions.
            >>
            >>
            >>
            >
            >
            >
            > --
            > Archive: http://www.openplans.org/projects/opencore/lists/opencore- 
            > dev/archive/2008/05/1210961647595
            > To unsubscribe send an email with subject unsubscribe to opencore- 
            > dev@....  Please contact opencore-dev- 
            > manager@... for questions.
            >
            >
            > !DSPAM:4017,482dcf29286251961014482!
            >
            
            
      • Re: email obfuscation

        from magicbronson on 2008-05-16 14:00
        the method proposed in the alistapart
        article<http://www.alistapart.com/articles/gracefulemailobfuscation>chris
        linked to addresses many of these concerns. could we do something like
        this?
        On Fri, May 16, 2008 at 1:53 PM, Douglas Mayle <douglas@...>
        wrote:
        
        > Not to mention the fact that a javascript solution doesn't function in
        > script free environments...  Accessibility, and all that...
        >
        >
        >
        > On May 16, 2008, at 12:17 PM, Ian Bicking wrote:
        >
        >  Chris Abraham wrote:
        >>
        >>> Hi,
        >>> Recently we had a complaint from a user that email addresses were being
        >>> exposed in the listen archives.  So I have now rigged in an obfuscation
        >>> function in listen that will obfuscate addresses in the from, subject and
        >>> body of messages for display purposes.  We now have to decide how we want to
        >>> obfuscate.  What's the best way to do it for the least amount of trouble.
        >>>  I've read up on encoding methods, replace('@', '<at>') methods, javascript
        >>> methods and the google "cabra...@..." method (in which the ...
        >>> is a link to a captcha).  I think the google method is probably the best but
        >>> it is a bit of a pain to implement and requires a captcha engine.  So, any
        >>> votes?  See http://www.alistapart.com/articles/gracefulemailobfuscation for
        >>> a good overview of the various options.
        >>>
        >>
        >> I think there actually exists a CAPTCHA service for this, where the user
        >> clicks through with an encrypted link.  But I can't remember the name of it.
        >>
        >> Otherwise I would prefer Javascript obfuscation, where you use
        >> document.write to write out the email.  I think there's a more advanced
        >> version that actually encrypts it, and requires some effort to decrypt
        >> (which only happens if you actually click on the email).  OTOH, things that
        >> take "some effort" in Javascript take little effort in C, but a little
        >> obfuscation would add to that.  Also, I don't know what the state of the art
        >> in email scraping is, but it's quite possible that there are browser-based
        >> bots that can execute Javascript.
        >>
        >>  Ian
        >>
        >
        
        
    • Re: email obfuscation

      from "Ethan Jucovy" on 2008-05-24 14:22
      On Fri, May 16, 2008 at 12:17 PM, Ian Bicking <ianb@...> wrote:
      > Chris Abraham wrote:
      >>
      >> Hi,
      >> Recently we had a complaint from a user that email addresses were being
      >> exposed in the listen archives.  So I have now rigged in an obfuscation
      >> function in listen that will obfuscate addresses in the from, subject and
      >> body of messages for display purposes.  We now have to decide how we want to
      >> obfuscate.  What's the best way to do it for the least amount of trouble.
      >>  I've read up on encoding methods, replace('@', '<at>') methods, javascript
      >> methods and the google "cabra...@..." method (in which the ... is
      >> a link to a captcha).  I think the google method is probably the best but it
      >> is a bit of a pain to implement and requires a captcha engine.  So, any
      >> votes?  See http://www.alistapart.com/articles/gracefulemailobfuscation for
      >> a good overview of the various options.
      >
      > I think there actually exists a CAPTCHA service for this, where the user
      > clicks through with an encrypted link.  But I can't remember the name of it.
      >
      > Otherwise I would prefer Javascript obfuscation, where you use
      > document.write to write out the email.  I think there's a more advanced
      > version that actually encrypts it, and requires some effort to decrypt
      > (which only happens if you actually click on the email).  OTOH, things that
      > take "some effort" in Javascript take little effort in C, but a little
      > obfuscation would add to that.  Also, I don't know what the state of the art
      > in email scraping is, but it's quite possible that there are browser-based
      > bots that can execute Javascript.
      
      The only concern I have with Javascript obfuscation is that Plone
      tends to try very hard to have full functionality without Javascript,
      so it might be frowned upon in the community regardless of its merits.
       Chris, I'd drop a note on the Listen developers' list and see what
      the consensus is there.
      
      I think OpenPlans will need to override whatever is built in to
      "vanilla Listen," though, if that solution makes email addresses
      viewable even to non-robots.  OpenPlans.org at least tries to have a
      policy of hiding all email addresses (or at least claims to, on the
      "Create an account" page) so I think there we'll need to do something
      more like the Google obfuscation method ("cabraham@..." -- but without
      the CAPTCHA link to see the full address at all) if we're going to be
      displaying anything informative.  So please make the obfuscating code
      (whatever ends up being decided upon) overrideable, whether as a
      utility or just as a method on a view that we as consumers of Listen
      can subclass to replace that one method.
      
      egj
      
      • Re: email obfuscation

        from cabraham on 2008-05-26 13:15
        So we have several places on openplans.org where emails are exposed:
        1) listen list addresses on the list summary pages
        2) list posts by nonmembers of the site shown on list archive pages  
        and on the messages themselves
        3) when included in the body of list messages shown on the message views
        4) when included in the subject lines of messages show in several places
        5) wiki pages, blog content, etc.
        
        And to deal with these, I suggest for:
        1) we should obfuscate these in listen using an overridable method.   
        Currently I will implement a javascript solution which can be  
        accompanied by a captcha for non-js people.  The captcha part doesn't  
        need to be implemented by us, at least not right now.
        2) we can just show the part of the email address leading up to the  
        @.  So a list post by nonmember "cabraham@..." will show as  
        being from "cabraham@...", from "Chris Abraham  
        <cabraham@...>" will be from "Chris Abraham".  This should  
        be sufficient to identify who sent the message.  We will not need any  
        deobfuscation since we don't currently provide any way for anyone to  
        access a member's email address and can maintain this standard for  
        nonmembers.
        3) same as (1)
        4) same as (1)
        5) we can consider tackling these in the future
        
        Sound okay to everyone?
        Chris
        
        
        
        On May 24, 2008, at 2:22 PM, Ethan Jucovy wrote:
        
        > On Fri, May 16, 2008 at 12:17 PM, Ian Bicking <ianb@...>  
        > wrote:
        >> Chris Abraham wrote:
        >>>
        >>> Hi,
        >>> Recently we had a complaint from a user that email addresses were  
        >>> being
        >>> exposed in the listen archives.  So I have now rigged in an  
        >>> obfuscation
        >>> function in listen that will obfuscate addresses in the from,  
        >>> subject and
        >>> body of messages for display purposes.  We now have to decide how  
        >>> we want to
        >>> obfuscate.  What's the best way to do it for the least amount of  
        >>> trouble.
        >>>  I've read up on encoding methods, replace('@', '<at>') methods,  
        >>> javascript
        >>> methods and the google "cabra...@..." method (in which  
        >>> the ... is
        >>> a link to a captcha).  I think the google method is probably the  
        >>> best but it
        >>> is a bit of a pain to implement and requires a captcha engine.   
        >>> So, any
        >>> votes?  See http://www.alistapart.com/articles/ 
        >>> gracefulemailobfuscation for
        >>> a good overview of the various options.
        >>
        >> I think there actually exists a CAPTCHA service for this, where  
        >> the user
        >> clicks through with an encrypted link.  But I can't remember the  
        >> name of it.
        >>
        >> Otherwise I would prefer Javascript obfuscation, where you use
        >> document.write to write out the email.  I think there's a more  
        >> advanced
        >> version that actually encrypts it, and requires some effort to  
        >> decrypt
        >> (which only happens if you actually click on the email).  OTOH,  
        >> things that
        >> take "some effort" in Javascript take little effort in C, but a  
        >> little
        >> obfuscation would add to that.  Also, I don't know what the state  
        >> of the art
        >> in email scraping is, but it's quite possible that there are  
        >> browser-based
        >> bots that can execute Javascript.
        >
        > The only concern I have with Javascript obfuscation is that Plone
        > tends to try very hard to have full functionality without Javascript,
        > so it might be frowned upon in the community regardless of its merits.
        >  Chris, I'd drop a note on the Listen developers' list and see what
        > the consensus is there.
        >
        > I think OpenPlans will need to override whatever is built in to
        > "vanilla Listen," though, if that solution makes email addresses
        > viewable even to non-robots.  OpenPlans.org at least tries to have a
        > policy of hiding all email addresses (or at least claims to, on the
        > "Create an account" page) so I think there we'll need to do something
        > more like the Google obfuscation method ("cabraham@..." -- but without
        > the CAPTCHA link to see the full address at all) if we're going to be
        > displaying anything informative.  So please make the obfuscating code
        > (whatever ends up being decided upon) overrideable, whether as a
        > utility or just as a method on a view that we as consumers of Listen
        > can subclass to replace that one method.
        >
        > egj
        >
        > !DSPAM:4017,48385cf4156261431913854!
        >
        
        
        • Re: email obfuscation

          from ejucovy on 2008-05-26 15:27
          On Mon, May 26, 2008 at 1:15 PM, Chris Abraham <cabraham@...> wrote:
          > So we have several places on openplans.org where emails are exposed:
          > 1) listen list addresses on the list summary pages
          > 2) list posts by nonmembers of the site shown on list archive pages and on
          > the messages themselves
          > 3) when included in the body of list messages shown on the message views
          > 4) when included in the subject lines of messages show in several places
          > 5) wiki pages, blog content, etc.
          
          Ooof..
          
          > And to deal with these, I suggest for:
          > 1) we should obfuscate these in listen using an overridable method.
          > Currently I will implement a javascript solution which can be accompanied
          > by a captcha for non-js people.  The captcha part doesn't need to be
          > implemented by us, at least not right now.
          
          +1
          
          > 2) we can just show the part of the email address leading up to the @.  So a
          > list post by nonmember "cabraham@..." will show as being from
          > "cabraham@...", from "Chris Abraham <cabraham@...>" will be from
          > "Chris Abraham".  This should be sufficient to identify who sent the
          > message.  We will not need any deobfuscation since we don't currently
          > provide any way for anyone to access a member's email address and can
          > maintain this standard for nonmembers.
          
          +1 if that means that the opencore.listen "obfuscation override" will
          just display "cabraham@".  +0 if you mean that will be the default
          Listen behavior (that conversation belongs elsewhere).
          
          > 3) same as (1)
          > 4) same as (1)
          > 5) we can consider tackling these in the future
          >
          > Sound okay to everyone?
          > Chris
          
          That all sounds great to me.  Thanks!
          
          egj