개요.
사용자 pc(client)가 post방식으로 데이터를 보낼 때, password를 암호화 한다. sniffing으로 캡쳐하면, 원래 문자는 나오지 않는다. 그러나 해당 값을 알고 있다면 복호화가 가능하다.
login 부분 설명
1. 해당 스킨 login.php
<input type=submit value="Ok~!" class=kissofgod-submit onclick="calculate(login)">
2. zb41의 login.php
<!--/////////////////////// 이 아래부터가 추가 코드입니다./////////////////-->
<SCRIPT src="rsa.files/4operation15.js"></SCRIPT>
<SCRIPT src="rsa.files/mathOperation.js"></SCRIPT>
<SCRIPT src="rsa.files/2RSA-encryption.js"></SCRIPT>
<!--////////////////////위가 필요한 암호화 스크립트가 되겠죠.//////////////////-->
<form name=login method=post action=login_check.php>
<input type=hidden name=auto_login value=<?if(!$autologin[ok])echo"0";else echo"1"?>>
<input type=hidden name=page value=<?=$page?>>
<input type=hidden name=id value=<?=$id?>>
<input type=hidden name=no value=<?=$no?>>
<input type=hidden name=select_arrange value=<?=$select_arrange?>>
<input type=hidden name=desc value=<?=$desc?>>
<input type=hidden name=page_num value=<?=$page_num?>>
<input type=hidden name=keyword value="<?=$keyword?>">
<input type=hidden name=category value="<?=$category?>">
<input type=hidden name=sn value="<?=$sn?>">
<input type=hidden name=ss value="<?=$ss?>">
<input type=hidden name=sc value="<?=$sc?>">
<input type=hidden name=mode value="<?=$mode?>">
<input type=hidden name=s_url value="<?=$s_url?>">
<input type=hidden name=referer value="<?=$referer?>">
<!--///////////////////암호화에 필요한 소수, 공개키, 나눌 block의 자리수, 비밀키(js에서 생성됨), 생성되어 전송할 password(js내에서 생성)/////////////////-->
<input type=hidden name=prime1 value=991>
<input type=hidden name=prime2 value=919>
<input type=hidden name=epublic value=881>
<input type=hidden name=block value=5>
<input type=hidden name=dd>
<input type=hidden name=password>
3. zb41의 login_check.php
//바뀐 것은 password를 mysql로 암호화 하지 않고 비교하는 것이다.
// 회원 로그인 체크
$result = mysql_query("select * from $member_table where user_id='$user_id' and password='$password'") or error(mysql_error());
$member_data = mysql_fetch_array($result);
댓글 달기