login_check.php 파일이다.
위에서 부터이고, strlen()으로 $password의 길이를 체크하여 배열에 2개씩 넣는다.
이렇게 해야 복호화 하기 편하다. 암호화 할 때, block값을 2로 지정한 경우이다. block화가 2가 아니면 이것은 제대로 수행되지 않는다.
나머지 스킨은 고칠 필요가 없도록 수정했다.
js파일에 p, q, epublic, block값을 넣어서 그나마 키 값을 찾기 약간 어렵도록 했다. 어차피 js는 클라이언트에서 인터프리팅 되므로 완벽히 숨길 수는 없다.
다음에 flash를 연구해 보겠다.
<?
include "lib.php";
$connect=dbconn();
$user_id = trim($user_id);
$password = trim($password);
$strlength = strlen($password);
// echo $strlength;
$sl=0;
$sl_s=0;
$pwschr="";
while($sl<ceil($strlength/4)){
$pws[$sl]="";
$pws[$sl] = substr($password,$sl_s,3);
$pwschr .= chr(bcmod(bcpow($pws[$sl],113),143)+32); //복호화 및 더함.
// echo $sl;
// echo "번째=";
// echo $pws[$sl];
// echo " ";
// echo ($sl+2);
$sl++;
$sl_s=$sl_s+4;
}
if(!$user_id) Error("아이디를 입력하여 주십시요");
if(!$password) Error("비밀번호를 입력하여 주십시요");
if($id) {
$setup=get_table_attrib($id);
$group=group_info($setup[group_no]);
}
if($setup[group_no]) $group_no=$setup[group_no];
if($pwschr=="")
$password = $pwschr;
// 회원 로그인 체크
$result = mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')") or error(mysql_error());
$member_data = mysql_fetch_array($result);
// 회원로그인이 성공하였을 경우 세션을 생성하고 페이지를 이동함
.
.
.
.
.
.
.
댓글 달기