멍부, 멍게 , 똑부, 똑게
멍부 : 멍청하면서 부지런한 사람
멍게 : 멍청하면서 게으른 사람
똑부 : 똑똑하면서 부지런한 사람
똑게 : 똑똑하면서 게으른 사람
조직에 이로운 순서로 나열하자면
똑게 > 똑부 > 멍게 > 멍부 순이다.
나도 똑게가 되고 싶다.
ps.
어제 배포한 그누보드 패치에 문제가 있습니다.
아직 안하신 분들은 기다려 주십시오.
오늘 보안보완패치 하겠습니다.
멍게 : 멍청하면서 게으른 사람
똑부 : 똑똑하면서 부지런한 사람
똑게 : 똑똑하면서 게으른 사람
조직에 이로운 순서로 나열하자면
똑게 > 똑부 > 멍게 > 멍부 순이다.
나도 똑게가 되고 싶다.
ps.
어제 배포한 그누보드 패치에 문제가 있습니다.
아직 안하신 분들은 기다려 주십시오.
오늘 보안보완패치 하겠습니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 16개
동감 == 동참?
이런 방식은 어떨까요?
lib/common.lib.php:
// 영문과 숫자로된 랜덤 문자를 리턴
function rand_key($len, $chars='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
$key = '';
$len_chars = strlen($chars);
for ($i = 0; $i < $len; $i++) {
$pos = rand(0, $len_chars-1);
$key .= $chars{$pos};
}
return $key;
}
function encrypt($string, $key)
{
base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
}
function decrypt($string, $key)
{
trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
}
bbs/register_form.php:
//77라인 정도에 교체
77 $encrypt_key = md5(rand_key(5); // 다섯개의 랜덤 문자를 이용. 그것을 md5로 바꾸자.
78 $encrypted_password = encrypt($_POST[mb_password], $encrypt_key);
79 set_session('ss_encrypt_key', $encrypt_key);
skin/member/basic/register_form.skin.php:
//90라인 정도에 추가
90 <? if ($w=='u' && $encrypted_password){?><input type=hidden name=encrypted_password value="<?=$encrypted_password;?>" /><? } ?>
bbs/register_form_update.php:
//371라인부터 교체
else {
$encrypt_key = get_session('encrypt_key');
$tmp_password = decrypt($_POST[encrypted_password], $encrypt_key);
}
오늘 다시 수정된 패치를 올려 놓았습니다.
감사합니다.
ps. 코드가 너무 길면 적용하는데 어려움이 있습니다. 알려주신 코드는 참고하겠습니다.
예전에 외국 사이트에서 본 글이 있는데 지금은 기억나지 않지만 요점은 시간이 걸리긴 해도 복호화가 가능하다는 겁니다. 고성능 컴퓨터를 가지고는 시간이 엉청 단축된다는 이야기외함께요.
최종으로 한 패치를 보면 sql_password로 암호화한 패스워드인데요...세션이 필요한 이유가 다시 register_form.php로 돌아가기 위한 것이라면
$tmp_password = get_session('ss_tmp_password'); 이게 아니라 데이터베이스에서 읽어오면 되지 않나요???
즉 처음부터 저장할 필요없이 register_form_update.php에서 register_form.php로 넘어가기전 데이터베이스에서 직접적으로 불러와서 그 값을 mb_password에 대입해주면 세션에 패스워드를 저장할 이유가 없어집니다.
이게 문제가 되는것이죠.
해시테이블로 패스워드를 푸는 문제는 논외로 치겠습니다.
제 말은 세션에 해시 저장 자체가 불필요하다는 얘기입니다. 즉 register_form_update.php에서 $tmp_session = get_session("ss_tmp_password"); 이 아니고 $row = sql_fetch("select mb_password as passwd from $g4[member_table] where mb_id='$member[mb_id]'"); $tmp_session = $row[passwd]; 이렇게 해도 된다는 거구요. 그렇게 하면 세션에 패스워드를 저장할 필요 자체가 없어진다는 이야기입니다.
감사합니다.
ㅋ