Protection de l'adresse e-mail avec CSS seulement

je veux protéger mon adresse e-mail sur les pages web.

mais je ne connais pas JavaScript et PHP. Je ne connais que le HTML et le CSS.

alors, s'il vous plaît aidez-moi à protéger mon adresse e-mail avec CSS seulement.

25
demandé sur Jack Wilsdon 2014-01-29 08:14:28

11 réponses

C'est très simple. Vous pouvez protéger votre adresse email avec seulement HTML & CSS. Vous n'avez pas besoin de connaître PHP ou Java script. Essayez sous le code.

Simple HTML and CSS code:

<!doctype html>
<html>
<head>
    <title>Protect e-mail with only css</title>
    <style type="text/css">
        .e-mail:before {
            content: attr(data-website) "40" attr(data-user);
            unicode-bidi: bidi-override;
            direction: rtl;
        }
    </style>
</head>
<body>

<span class="e-mail" data-user="nohj" data-website="moc.liamg"></span>

</body>
</html>

sortie du code ci-dessus:

jhon@gmail.com

remarque:

Ici, je suis juste utilisé deux attributs supplémentaires.

1)data-user Ecrivez votre nom d'utilisateur e-mail dans inverse.

2) data-website Ecrivez votre adresse e-mail dans inverse.

61
répondu 2014-01-29 04:14:28

Essayez ce code:

.e-mail:before {
  content: "6a686f6e40676d61696c2e636f6d";
}
<span class="e-mail"></span>

c'est juste l'email encodé en hexadécimal.

17
répondu Chandra Nakka 2017-09-20 13:32:40

comme vous le savez probablement: les techniques D'Obfuscation ne peuvent pas être infaillibles et les robots de récolte continueront à s'améliorer. Il y a un certain nombre de arguments à l'encontre de la dissimulation de l'.

ceci étant dit, Voici quelques techniques supplémentaires aux techniques assez intéressantes que vous avez déjà mentionnées.

techniques HTML:

  1. en utilisant commentaire html signes ou à la substitution d' entités html a certains il y a des années déjà été s'avère être une approche assez faible.

  2. utiliser une image au lieu du texte est une douleur pour la plupart des utilisateurs, y compris les non-malvoyants car ils ne peuvent pas couper et coller. Il fonctionne bien.

  3. une approche HTML pure intéressante qui permet d'utiliser un hyperlien était a suggéré un temps de retour.

    <a href="mailto:jhonnotspam@gmail.com?subject=EMAIL ADDRESS NEEDS EDITING&body=Please remove the text 'notspam' from the address before sending your email.">Email me.</a>

CSS techniques: Ce ne sont bien sûr pas des preuves invraisemblables non plus. En plus de ce que vous avez déjà mentionné:

  1. utilisation de l'affichage CSS:aucun n'est également utile. Les Bots qui suppriment simplement les étiquettes de style incluront le texte caché dans l'adresse récoltée.

    jhon<span style="display:none">-anti-bot-bit</span>@gmail.com.

  2. une police d'icône web pourrait être utilisée pour tirer dans un @ icône et il est possible de le faire d'une manière qui ne fera pas trébucher les lecteurs d'écran. Je n'ai pas vu d'icône web police avec une icône @ pour des raisons évidentes, mais cela fonctionnerait.

mise à Jour:Police Génial a maintenant une icône@. Peut-être quelqu'un l'a suggéré, après avoir vu ce post ;-).

10
répondu fzzylogic 2014-09-19 17:36:27

l'une des façons simples et efficaces d'intégrer les e-mails en html est d'utiliser des valeurs hex! par exemple valeur hex pour john@smith.me is:

%6A%6F%68%6E%40%73%6D%69%74%68%2E%6D%65

et vous pouvez utiliser la balise suivante dans votre code HTML

<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6A%6F%68%6E%40%73%6D%69%74%68%2E%6D%65">email me</a>

C'est une façon très simple et efficace d'intégrer le courriel dans une page web.

vous avez attaqué le "maito:" et l'email de cette façon.

vous pouvez utiliser ce outil pour générer le %64 hex code

vous pouvez également utiliser ce outil pour générer le code hexadécimal

8
répondu Hbirjand 2014-04-01 12:02:23
Ans1& Ans2) pour faire le mailto fonctionne avec le css pour la facilité d'utilisation.

<style type="text/css">
    .e-mail:before {
        content: attr(data-website) "40" attr(data-user);
        unicode-bidi: bidi-override;
        direction: rtl;
    }
</style>
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6A%6F%68%6E%40%67%6D%61%69%6C%2E%63%6F%6D">
    <span class="e-mail" data-user="nhoj" data-website="moc.liamg"></span>
</a>
5
répondu Yeo 2017-05-23 12:02:19

Vous pouvez utiliser la Police Génial:

<head>:

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<body>:

<p>john<i class="fa fa-at"></i>hotmail.com</p>
2
répondu VME 2018-05-23 02:21:20

je recommande D'utiliser JavaScript si possible sur CSS et JavaScript car il peut manipuler le dom. Vous pouvez facilement le faire avec du code comme

<div onclick="document.write('joe@' + 'joemaller.com')">Email Me</div>

c'est une solution simple mais pas idéale.

JFiddle;http://jsfiddle.net/yFKUD/

1
répondu Dean Meehan 2014-03-28 13:05:01

Utilisez l'encodeur de Formiate

Encoder l'url du site pour convertir les données email

Hide email using CSS trick (direction property)

Démo

Scramble the email - While coding HTML, jumble and write the email address in reverse direction. (a@b.com should be written as moc.b@a). We can then use CSS stylesheet to reverse the email address againwhen rendering. Here's the sample HTML code with CSS.

<style type="text/css"> 
  .backwards {
      unicode-bidi:bidi-override;
      direction: rtl;
   } 
</style>

<span class="backwards">moc.b@a</span>

If someone copies your email address, it will available in the reverse direction. Would not work on older browsers.

comment cacher votre adresse email aux spammeurs avec JavaScript

Let's look at more advanced methods that use javascipt to hide the email (name@domain.com). Remember to use noscript tags since some users prefer to disable javascript in browsers:
  1. Basic Email Script
<script language=JavaScript>
<!--
document.write("name" + "@" + "domain.com");
//--> </script>
 2. Basic Mailto: Email Script with Link Text
<script language=JavaScript>
<!--
var user = "name";
var host = "domain.com";
var link = user + "@" + host;
document.write("<a hre" + "f=ma" + "ilto:" + user + "@" + host + ">" + link + "</a>");
//--> </script>
 3. Inline JavaScript
<a href="#" onclick="JavaScript:window.location='mailto:'+'name'+'@'+'domain'+'.com'" >Send me an email</a>
  1. fichier JavaScript externe
<script language="JavaScript" src="email-encoding.js"></script>
The external javascript contains the code mentioned in 2 above. 
0
répondu ravi patel 2014-04-02 07:51:34

Pour désactiver les personnes à copier essayer de la forme:

span.email {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

et HTML:

<span class="email">jack@gmail.com</span>

JSFIDDLE

Et pour protéger contre les bots utiliser les CSS Codedirection:

<span style="unicode-bidi:bidi-override; direction: rtl;">
moc.elpmaxe@zyx
</span>
0
répondu Jake 404 2014-04-04 06:09:49

j'ai utilisé pendant un certain temps une technique JavaScript similaire qui permettait la fonctionnalité "mailto" tout en gardant le HTML valide :

HTML :

<a href="http://www.domain.com" class="js-contact">user</a>

JavaScript (petit plugin jQuery)

// mailto anti-spam

;(function($) {
        $.fn.mailTo = function() {

                this.each(function() {
                        var user = $(this).html() || false,
                domain = $(this).attr('href')
                                                    .replace('http://www.', '')
                                                    .replace('www.', '')
                                                    .replace('http://', '')
                                                    .replace('/', '') || false;

                        if (user && domain) {
                                $(this).html(user + '@' + domain).attr('href', 'mailto:' + user + '@' + domain);
                        }
                });

                return this;
        };
})(jQuery);

Utilisation

// protect inline e-mails 
$('.js-contact').mailTo();

http://codepen.io/ced-anamorphik/pen/QwVrKZ

mais récemment Google Chrome a affiché un avertissement de phishing sur le site. Comme ce n'est pas entièrement mal (techniquement le lien est mystifié en effet), y a-t-il une autre solution simple à cela ?

0
répondu Cedric Anamorphik 2015-03-09 08:30:34

Flexbox vous permet de modifier l'ordre des éléments dans un élément containing, nous pouvons l'utiliser pour séparer et réordonner des parties de notre adresse e-mail dans le html mais les présenter à l'utilisateur comme un ensemble lisible.

div {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
<div>
  <span>example.com</span>
  <span>@</span>
  <span>george</span>
  <span>Email me at the following address:&nbsp;</span>
</div>

Ici, nous utilisons flex-direction: row-reverse pour inverser l'ordre des éléments.

un arnaque pourrait probablement résoudre ce problème s'il s'efforçait, tout ce qu'il a à faire est d'inverser les éléments pour recréer l'adresse. Pour une tentative plus approfondie nous pouvons spécifier l'ordre manuellement.

div {
  display: flex;
}
<div>
  <span style="order: 3">@</span>
  <span style="order: 4">example.com</span>
  <span style="order: 1">Email me at the following address:&nbsp;</span>
  <span style="order: 2">user</span>
</div>

Ici, nous utilisons order pour spécifier notre propre commande de façon à ce qu'une simple inversion ne puisse pas être utilisée.

malheureusement faire l'une de ces pauses copier / coller donc votre Utilisateur devra taper l'adresse, mais c'est mieux que de recevoir de la correspondance d'un autre prince Nigérian. Utilisez ceci en conjonction avec d'autres techniques pour une adresse e-mail vraiment pare-balles.

0
répondu George Richardson 2018-02-01 18:45:47