farmani / yii-email-obfuscator
Yii extension to obfuscate eMail addresses.
Installs: 25
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Type:yii-extension
Requires
- php: >=5.4.0
- yiisoft/yii: *
This package is not auto-updated.
Last update: 2025-02-01 18:38:42 UTC
README
Email obfuscatior plugin for Yii.
This plugin combines some Email obfuscation technics.
- The @ char is removed and only its index is passed on. It will be reinserted using the expression String.fromCharCode(422*4).
- The address itself will be transmitted as a ROT13 transformed string which will be retransformed by Javascript.
- The "mailto:" prefix is decoded as a reversed string which gets unreversed by Javascript.
The Email address "mail@example.com" will result in the following code:
<script type="text/javascript"> var action=":otliam".split("").reverse().join(""); var href="znvyrknzcyr.pbz".replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);}); href=href.substr(0, 4) + String.fromCharCode(4*2*2*4) + href.substr(4); var a = "<a href=\""+action+href+"\">"+href+"</a>"; document.write(a); </script>
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require "farmani/yii-email-obfuscator" "dev-master"
or add
"farmani/yii-email-obfuscator": "dev-master"
to the require section of your composer.json
file.
Usage
Simply insert this in your template:
<?= Yii::app()->obfuscator->disguise('email@example.com',true); ?>