Dan Sommers wrote: > On Sun, 25 Jun 2006 21:10:31 +0100, > Andrew McLean <[EMAIL PROTECTED]> wrote: > >> I'm looking at putting some e-mail contact addresses on a web site, >> and wanted to make it difficult for spammers to harvest them. > > [ ... ] > >> Searching the web it looks like the best solution for me might be to >> embed JavaScript in the web page that dynamically generates the e-mail >> address in the browser client. > > [ ... ] > >> Now I could write suitable code myself, but would be surprised if it >> wasn't already available. Any pointers? > > Pointers? What do you think this is, C? ;-) Try this: > > def spam_averse_email_address( email_address, text ): > """return HTML-embedded javascript to create a spam-averse mailto link""" > > def char_codes( a_string ): > return ",".join(str(ord(a_char)) for a_char in a_string) > > return """<script type="text/javascript"> > <!-- > document.write( > '<a href="mailto:' > + String.fromCharCode(%s) > + '">' > + String.fromCharCode(%s) > + '<\/A>'); > // --> > </script>""" % (char_codes(email_address), char_codes(text)) > > The newlines within the triple quoted string are important; use that > function something like this: > > print "<html>" > print "<head><title>Title</title></head> > print "<body> > print "<P>%s</P>" % spam_averse_email_address( '[EMAIL PROTECTED]', > 'click here to email me' ) > print "</body>" > print "</html>" > > You mentioned accessibility; make sure that your HTML does something > sensible if the user's browser doesn't do javascript. > > HTH, > Dan >
That's great. Just what I was looking for. -- http://mail.python.org/mailman/listinfo/python-list