이메일, 전화번호 난독화 함수 safe text()

이메일, 전화번호 난독화 함수 safe_text()

1 예시[ | ]

  • PHP 소스코드
<?php
function safe_text($text) {
	$chs = str_split($text);
	$enc[] = rand(0,255);
	foreach($chs as $ch) $enc[] = ord($ch)-$enc[sizeof($enc)-1];
	$arr = join(',',$enc);
	$id = md5(rand().microtime());
	return "<span id='$id'></span><script>var t=[{$arr}]; var a = '';
for(var i=1; i<t.length; i++) a+=String.fromCharCode(t[i]+t[i-1]);
document.getElementById('$id').innerHTML=a;</script>";
}
echo safe_text('testuser@example.com');
echo safe_text('010-1234-5678');
<span id='cd83ccef8f2121c812d8e976ab768e0a'></span><script>var t=[164,-48,149,-34,150,-33,148,-47,161,-97,198,-78,175,-66,178,-70,171,-125,224,-113,222]; var a = '';
for(var i=1; i<t.length; i++) a+=String.fromCharCode(t[i]+t[i-1]);
document.getElementById('cd83ccef8f2121c812d8e976ab768e0a').innerHTML=a;</script><span id='87bfbf3ec63f3b1769fcb145da7a87bd'></span><script>var t=[59,-11,60,-12,57,-8,58,-7,59,-14,67,-13,68,-12]; var a = '';
for(var i=1; i<t.length; i++) a+=String.fromCharCode(t[i]+t[i-1]);
document.getElementById('87bfbf3ec63f3b1769fcb145da7a87bd').innerHTML=a;</script>
→ 겉보기엔 평문 같지만, 자바스크립트에 의해 재구성되는 과정이 있음
웹크롤러가 내용을 제대로 인식하지 못하게 하여, 검색사이트에서 검색되지 않게 함

2 실행결과 소스보기[ | ]

<span id='31b52249d2d00488823fea6a7a371c8f'></span><script>var t=[169,-53,154,-39,155,-38,153,-52,166,-102,203,-83,180,-71,183,-75,176,-130,229,-118,227]; var a = '';
for(var i=1; i<t.length; i++) a+=String.fromCharCode(t[i]+t[i-1]);
document.getElementById('31b52249d2d00488823fea6a7a371c8f').innerHTML=a;</script>
testuser@example.com
<span id='3883ce402847f0aa54a2308b5569bfb2'></span><script>var t=[110,-62,111,-63,108,-59,109,-58,110,-65,118,-64,119,-63]; var a = '';
for(var i=1; i<t.length; i++) a+=String.fromCharCode(t[i]+t[i-1]);
document.getElementById('3883ce402847f0aa54a2308b5569bfb2').innerHTML=a;</script>
010-1234-5678

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}