承接 jdz/obfuscator 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jdz/obfuscator

最新稳定版本:1.0.0

Composer 安装命令:

composer require jdz/obfuscator

包简介

Server-side email obfuscation paired with the jizy-obfuscator JS client

README 文档

README

Server-side email obfuscation paired with the jizy-obfuscator JS client.

Emits indexed <span id="obfuscated-N"> placeholders and ROT13-encoded HTML payloads; the JS client reveals the real markup in the DOM on page load.

Installation

composer require jdz/emailobfuscator

Usage

PHP

use JDZ\Obfuscator\Obfuscator;

$obfuscator = new Obfuscator();

echo $obfuscator->obfuscate('joe@example.com');
// <span id="obfuscated-0"></span>

echo $obfuscator->obfuscate('support@example.com', 'Write to support', ['class' => 'email']);
// <span id="obfuscated-1"></span>

echo $obfuscator->renderScript();
// <script>window.Obfuscator.decode(["...","..."]);</script>

Twig

use JDZ\Obfuscator\Extension\EmailObfuscatorTwigExtension;

$twig->addExtension(new EmailObfuscatorTwigExtension($obfuscator));
{{ 'joe@example.com'|obfuscate }}
{{ 'joe@example.com'|obfuscate({ class: 'email' }) }}
{{ obfuscate_email('joe@example.com', 'Write to Joe', { class: 'email' }) }}
{{ obfuscate_html('<strong>Hidden</strong>') }}

{# near </body> #}
{{ obfuscate_script() }}

API

Obfuscator

Method Returns
obfuscate(string $email, ?string $label = null, array $attrs = []) placeholder <span>
obfuscateHtml(string $html) placeholder <span>
getPayloads(): string[] ROT13-encoded payloads, ordered by index
renderScript(): string <script>window.Obfuscator.decode([...])</script> — empty when nothing registered
reset(): void clears collected payloads

Twig extension

  • Filter obfuscate(attrs = {})
  • Function obfuscate_email(email, label = null, attrs = {})
  • Function obfuscate_html(html)
  • Function obfuscate_script()

All filter/function outputs are marked is_safe: html.

Client-side

Install and load jizy-obfuscator. Placeholder ids (#obfuscated-0, #obfuscated-1, ...) match the order of the payloads array passed to Obfuscator.decode, which is exactly the order returned by getPayloads() here.

Testing

composer install
composer test

License

MIT - see LICENSE

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固