P粉3318499872023-09-04 10:54:24
有很多方法可以做到这一点。使用 reCaptcha 风格的拦截器可能是最好的选择。不过,这里有一个简单的实施方法,可以阻止大多数非针对性攻击的机器人。
在 PHP 中,我通过 base64_encode 对电话号码进行编码,然后在 JavaScript 中使用 atob 对其进行解码。
<?php function obfuscatePhone($phone){ return base64_encode($phone); } ?> <div class="contact"> <a class="btn btn-success" data-wakey="<?php echo obfuscatePhone("+212612345678");?>" target="_blank" rel="noopener noreferrer" href="#!"> More Details </a> </div> <script> const wa = document.querySelectorAll("[data-wakey]"); wa.forEach((e) => { const p = atob(e.dataset.wakey); e.href = "https://wa.me/212" + p + "?text=TextMessage"; }); </script>
该代码在 HTML 中生成此内容:
const wa = document.querySelectorAll("[data-wakey]");
wa.forEach((e) => {
const p = atob(e.dataset.wakey);
e.href = "https://wa.me/212" + p + "?text=TextMessage";
});
<div class="contact">
<a class="btn btn-success" data-wakey="KzIxMjYxMjM0NTY3OA==" target="_blank" rel="noopener noreferrer" href="#!">
More Details
</a>
</div>