farmani / yii-email-obfuscator

用于混淆电子邮件地址的Yii扩展。

dev-master 2014-09-13 06:21 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:24:08 UTC


README

Yii的电子邮件混淆插件。

此插件结合了一些电子邮件混淆技术。

  • 移除@字符,仅传递其索引。它将通过表达式String.fromCharCode(422*4)重新插入。
  • 地址本身将作为ROT13转换的字符串传输,并通过JavaScript重新转换。
  • "mailto:"前缀被解码为反向字符串,由JavaScript恢复。

电子邮件地址 "mail@example.com" 将产生以下代码

<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>

安装

安装此扩展的首选方法是通过 composer

运行以下命令之一:

php composer.phar require "farmani/yii-email-obfuscator" "dev-master"

或者在您的 composer.json 文件的require部分添加:

"farmani/yii-email-obfuscator": "dev-master"

使用

只需将此插入您的模板

<?= Yii::app()->obfuscator->disguise('email@example.com',true); ?>