溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于PHP實(shí)現(xiàn)解密或加密Cloudflar郵箱保護(hù)的示例

發(fā)布時(shí)間:2021-02-04 16:09:42 來源:億速云 閱讀:180 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了基于PHP實(shí)現(xiàn)解密或加密Cloudflar郵箱保護(hù)的示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Cloudflare 有一項(xiàng)功能挺不錯(cuò)的,就是將頁面上所有的郵箱地址都加密起來,防止機(jī)器人抓到然后干壞事。

這項(xiàng)功能要在后臺開啟 email address obfuscation

之后就可以在頁面上加入一個(gè)郵箱地址,比如說 abc@abc.com

查看源代碼就能發(fā)現(xiàn)類似如下的代碼

<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 的方式將這個(gè)郵箱地址解密出來

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


得到的結(jié)果就是上面所說的 abc@abc.com

但是我們不想用 Cloudflare 的相關(guān)服務(wù),就是單純想用他這種加密技術(shù),所以我們就得將加密的算法也找出來

我們可以利用上面解密的代碼反向執(zhí)行,就可以得到一個(gè)加密的算法了

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

我們就能利用這個(gè)加密算法,將手機(jī)號、郵箱地址、身份證等各種敏感的信息都加密起來,防止別人能輕易的抓取到數(shù)據(jù)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“基于PHP實(shí)現(xiàn)解密或加密Cloudflar郵箱保護(hù)的示例”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI