웹마스터 팁



예전에 만들어놓았던 문서인코딩 소스입니다.
스트링 객체에 대한 이해가 좀 있다면 쉽게 만들수 있는 소스죠.

입력받은 소스를 escape() 시킨다음에 각각의 모든 문자들의 아스키값을
정해준 만큼 더해줍니다.
그리고 여기에 디코딩 함수를 포함한 스크립트를 덧붙여 출력해주죠.

디코딩의 원리는 위의 역순이구요.


예전에 만들었을땐 입력받은 문자열의 아스키값을 더해 나온값이
줄바꿈에 해당하는 문자열일때 에러가 나는 오류가 있었는데
수정 했습니다.

스크립트에 관한 약간의 이해가 있다면 이 소스의 치명적인 약점을
쉽게 찾을수 있을겁니다.


미리 보기 : http://allzza.net/xxx/aboard.php?id=pds
참조 : http://www.tagmania.net/zboard/zboard.php?id=jschool&page=8&select_arrange=headnum&desc=desc&sn=off&ss=on&sc=on&divpage=1



<html>
<head>
<title>
String 와 form 객체를 이용한 암호화 소스
</title>

<script>

/////////////////////////
// 소스 : 미친개
// 이멜 : webmaster@allzza.net
// 멜룽----ㅡ,.ㅡ
/////////////////////////////



msg = false;
dum = 1;
        //-- dum 은 1 에서 5 까지 취향에 맞게 선택하세요
        //-- 이 숫자가 0 이면 암호화가 되지 않습니다.
        //-- 1에서 5정도가 적당합니다..
              
function encode()  {
        myObj = document.myform.aaa;
        str = escape(myObj.value);
        end_num = str.length - 1;
        encode_str = '';
  
        befstr =   '<html><head><title></title><sc'
                 + 'ript>str2 = "'
        aftstr =   '";eh = "";for(k=0;k<str2.length;k++)'
                 + '{eh+=String.fromCharCode(str2.charCodeAt(k) - ' + dum + ');}'
                 + 'document.write(unescape(eh));</scr'
                 + 'ipt><body></body></html>'



        for(i=0;i<=end_num;i++)   {
           //if(str.charCodeAt(i)==9) i++;
           key = 1*str.charCodeAt(i) + dum;
           encode_str += String.fromCharCode(key);
           }
        document.myform.aaa.value = befstr + encode_str + aftstr;
        }


function getstr(value)   {

   var cs = document.myform.aaa.value;
   var str_num = cs.indexOf(value);    
   return str_num;          
   }
    

function decode()   {

   myObj = document.myform.aaa;
   str = myObj.value;
   //dum = 40000;
   //-- 위에 덤이랑 같은 숫자로...^..^
   decode_str = '';
   str_start = getstr('str2 = "') + 'str2 = "'.length;
   str_end = getstr('";eh');
  for(i=str_start;i<str_end;i++)  {
      key = 1*str.charCodeAt(i) - dum;
      decode_str += String.fromCharCode(key);
      }
  document.myform.aaa.value = unescape(decode_str);
}

function view_source()   {
  abab = prompt('페이지의 주소를 써 넣으세요','http://');
  window.location = 'view-source:' + abab;
  }
</script>


</head>
<body bgcolor=#aaaaaa>

<form name=myform>
<table border=1>
<tr><td>
<textarea name=aaa ROWS=15 COLS=50></textarea>
</td>
</tr>
<tr>
<td align=center>
<input type=button name=ccc value='인코딩' onclick='encode();'>
<input type=button          value='디코딩' onclick='decode();'>
<input type=reset name=ddd value='다시'>
<input type=button value='소스불러오기' onclick='view_source();'>
</td></tr>

</table>
</form>


      



</body>
</html>
제목 글쓴이 날짜
무료 오픈 api가 많은 사이트 [유용] [3] file 김동재4af45 2015.06.13
리스트에 스크랩 버튼을 뺴는 코드입니다. [3] 착한악마 2015.04.30
추천검색어,실시간인기순위 소스 file codlllle 2015.06.21
실시간 rss 피드글 출력 위젯 file codlllle 2015.06.20
댓글 수정/ 대댓글 달시에 댓글 공지 넣는법 [8] file 불금 2015.06.17
다음 위젯 뱅크를 대신할 위젯 베스트! codlllle 2015.06.20
자신이 쓴 글에 특정유저 댓글을 차단 Ikoo 2015.06.20
XE 에 무료 채팅방 설치하기 [6] file 김동재4af45 2015.06.14
네이버 날씨 위젯 입니다 file codlllle 2015.06.15
다음 실시간 검색어 위젯 file codlllle 2015.06.19
위젯 복사 팁 - 이걸 왜 이제야 알았을까.. socialskyo 2015.06.17
페이스북 공유할 때 모바일에서는 이미지 안뜨는 증상 file silhwang 2015.06.14
프레임셋을 이용하여 도메인 명만 보여주기 /xe ~~ 와 같은 것 없애기 [5] 만쓰별(정만) 2009.01.23
자동 저장되었습니다에 초단위 추가 file 불금 2015.06.13
간단한(?) 해시태그 소스.. [18] Ikoo 2015.06.10
회원가입시 아이피 기록하기 [10] 수직상승 2014.04.24
해당 그룹 or 관리자는 애드온 실행 안되게 하기 [3] 불금 2015.06.10
상단바 (navbar) 고정 레이아웃 알림센터 close시 밀려나는 현상 해결법 [2] file 불금 2015.06.13
Font Awesome 메뉴바에 적용하기 file 불금 2015.06.13
1.7.3 최신버전 특정사이트 iframe(아이프레임) 일반회원 html적용가능하게 하기 [2] imgXE™ 2013.05.06