基于PHP实现解密或加密Cloudflar邮箱保护
发布:smiling 来源: PHP粉丝网 添加日期:2022-03-15 09:51:17 浏览: 评论:0
这篇文章主要介绍了基于PHP实现解密Cloudflar邮箱保护,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。
Cloudflare 有一项功能挺不错的,就是将页面上所有的邮箱地址都加密起来,防止机器人抓到然后干坏事。
这项功能要在后台开启 email address obfuscation
之后就可以在页面上加入一个邮箱地址,比如说 abc@abc.com
查看源代码就能发现类似如下的代码
- <a class="__cf_email__" data-cfemail="30515253705152531e535f5d" href="/cdn-cgi/l/email-protection" rel="external nofollow" >
- [email protected]
- </a>
- <script data-cfhash="f9e31" type="text/javascript">
- /* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */
- </script>
我们可以使用 PHP 的方式将这个邮箱地址解密出来
- function deCFEmail($encode){
- $k = hexdec(substr($encode,0,2));
- for($i=2, $m=''; $i < strlen($encode) - 1; $i += 2){
- $m.=chr(hexdec(substr($encode, $i, 2))^$k);
- }
- return $m;
- }
- echo deCFEmail("30515253705152531e535f5d")."\n";
得到的结果就是上面所说的 abc@abc.com
但是我们不想用 Cloudflare 的相关服务,就是单纯想用他这种加密技术,所以我们就得将加密的算法也找出来
我们可以利用上面解密的代码反向执行,就可以得到一个加密的算法了
- function encodeEmail($email, $key=0) {
- $chars = str_split($email);
- $string = '';
- $key = $key ? $key : rand(10, 99);
- foreach ($chars as $value) {
- $string .= sprintf("%02s", dechex(ord($value)^$key));
- }
- return dechex($key).$string;
- }
我们就能利用这个加密算法,将手机号、邮箱地址、身份证等各种敏感的信息都加密起来,防止别人能轻易的抓取到数据。
Tags: PHP解密 PHP加密 Cloudflar
- 上一篇:PHP基于openssl实现非对称加密代码实例
- 下一篇:最后一页
相关文章
- ·php自定义加密函数、解密的例子(2014-06-28)
- ·php自定加密与解密程序(2014-09-09)
- ·用php实现php代码的加密解密类分享(2018-10-13)
- ·PHP加密扩展库Mcrypt安装与应用实例(2014-08-22)
- ·PHP中的 Mcrypt 可逆加密算法(2014-08-23)
- ·PHP加密解密内部算法 (2014-08-25)
- ·php hex加密解密函数使用例子(2018-10-30)
- ·PHP实现AES256加密算法实例(2021-04-13)
- ·PHP的RSA加密解密方法以及开发接口使用(2021-09-03)
- ·php的RSA加密解密算法原理与用法分析(2022-02-07)
- ·PHP 加密 Password Hashing API基础知识点(2022-02-17)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)