textshield
v1.0.2
Published
Powerful method to protect sensitive information from unwanted web crawlers/scrapers
Downloads
5
Readme
TextShield
Protect sensitive information aganist unwanted web crawling and scraping bots.
Demo
Basic features and functionalities are introduced in demo: TextShield Demo
Getting started
Prebuilt TextShield library textshield.js
is available in releases. Once the script is included in the page, you're all set!
NPM Install
TextShield can be installed with npm with TypeScript support.
$ npm install textshield
Modules like Encoder
are reachable as named module while default export indicates TextShield
module.
import TextShield, { Encoder, Decoder } from "textshield";
Usage
With the presence of TextShield plugin, texts that contain sensitive information can protected from bots with following steps.
1. Text encoding
Suppose that we have HTML text like below and we would like to protect the email part.
Please email me at [email protected]
Using the TextShield web encoder, we can convert [email protected]
to protected code.
Please email me at <shield value="oIeOu5qmeBX0YXHpLZNWN/6BcAwf/j8KJ3LXcEWOE7VacvgSGOsskNLrALw=XU1QHTg0PHA9OgQ=AVkQYQYmAg=="></shield>
Or by using server-side TextShield encoding libaray, desired text can be encoded dynamically. Currently, Node.js plugin is supported.
Please email me at
<%= TextShield.encode("[email protected]", DecodeCost.Low, Mode.Normal); %>
2. Text rendering
Three text rendering options are available.
PLAIN
: Display text as normal page text. Best in user experience but cannot protect bots with JavaScript engine.NORMAL
: Render text incanvas
element. Can protect most bots.DISTORT
: Apply live distortion effect to canvas rendered text. It is able to protect rare bots that integrates OCR technology.
Rendering options are set through mode
attribute in <shield>
tag.
<shield mode="distort" value="..." />
Contribution
Any kind of contributions or questions are heartly welcomed.
License
TextShield is released under the MIT License.