• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    基于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;
    }

    我们就能利用这个加密算法,将手机号、邮箱地址、身份证等各种敏感的信息都加密起来,防止别人能轻易的抓取到数据

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 六种php加密解密方法实例讲解
    • PHP rsa加密解密算法原理解析
    • php中加密解密DES类的简单使用方法示例
    • php的RSA加密解密算法原理与用法分析
    • RSA实现JS前端加密与PHP后端解密功能示例
    • Js通过AES加密后PHP用Openssl解密的方法
    • PHP实现的AES双向加密解密功能示例【128位】
    • PHP实现的XXTEA加密解密算法示例
    • PHP实现基于3DES算法加密解密字符串示例
    • PHP实现的AES加密、解密封装类与用法示例
    • PHP实现的DES加密解密类定义与用法示例
    • 基于PHP RSA密文过长加密解密 越过1024的解决方法
    • PHP的RSA加密解密方法以及开发接口使用
    • PHP使用自定义key实现对数据加密解密的方法
    • php实现的三个常用加密解密功能函数示例
    • PHP代码加密和扩展解密实战
    上一篇:解决PhpStorm64不能启动的问题
    下一篇:如何在PHP中使用AES加密算法加密数据
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    基于PHP实现解密或加密Cloudflar邮箱保护 基于,PHP,实现,解密,或,加密,