Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-bot-buster-email-obfuscation

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-bot-buster-email-obfuscation

A email obfuscation package with multiple options to fool bots.

  • 1.0.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

React Email Bot Buster

If you've ever wanted to make your email available in a React project, but don't want to get spammed then this is the module for you. I built this customizable email obfuscation component to solve that problem using Rot13.

Here's an example of the obfuscation:

It takes an email:

info@email.com

and turns it into this:

vasb[at]rznvy_dot_pbz

Using Rot13 in addition to replacing important characters that a bot will use to pattern match your email address should be nearly invisible to most scrape bots.

The Email address is unobfuscated on hover in both the mailto and link if you choose to use the email.

Prerequisites

This module is written for React.

Installing

Install this component using your preferred package manager:

npm i react-bot-buster-email-obfuscation

or

yarn add react-bot-buster-email-obfuscation

Import it just like any other module:

import EmailAddress from 'react-bot-buster-email-obfuscation';

How to Use

A simple example of component use:

import React from 'react';
import { render } from 'react-dom';
import EmailAddress from 'react-bot-buster-email-obfuscation';
const App = () => {
  return <EmailAddress email='info@email.com' linkText={{ email: 'info@email.com' }} />;
};
render(<App />, document.getElementById('root'));

Use map to loop over multiple email addresses and obfuscate them:

render() {
  <div>
    {emails.map((email) => {
      return (
        <EmailAddress key={email} email={email} linkText={{ text: 'Email' }} />
      );
    })}
<div>
};

Configure

This does come with a few options:

You can pass in your own custom link text through the linkText prop.

<EmailAddress email={email} linkText={{ text: 'Email' }} />

Or you can pass in the email. The linkText needs to contain the email key in order to use it as the link text.

<EmailAddress email={email} linkText={{ email: 'info@mail.com' }} />

or shorthand:

<EmailAddress email={email} linkText={{ email }} />

If you don't want to pass in anything it will use the default text which is 'Email Now'.

Built With

  • Webpack - Example built with Webpack
  • Babel - Used to transpile the component

Contributing

Feel free to submit a pull request on Github. Contributions are always welcome.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

FAQs

Package last updated on 20 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc