L

자동등록방지 암호를 숫자만 나오도록 할려면

// 자동등록기를 막아볼까요?
$is_norobot = false;
if ($default[de_use_norobot]) {
// 임의의 md5 문자열을 생성
$tmp_str = substr(md5(time()),0,10);
// 난수 발생기
srand(make_seed());
$keylen = strlen($tmp_str);
$div = (int)($keylen / 2);
while (count($arr) < 3) {
unset($arr);
for ($i=0; $i<$keylen; $i++) {
$rnd = rand(1, $keylen);
$arr[$rnd] = $rnd;
if ($rnd > $div) { break; }
}
}


이 부분에서 문자열이 아니라 숫자를 생성해야 할 것 같은데 어떻게 고쳐야 하나요?
|

댓글 4개

substr(md5(time()),0,10);

시간을 암호환 한것에서 일부를 추출한 것이 난수가 되는 것 입니다.
이부분을 해결하시려면 10자리만큼 난수를 생성하시면 될 것 입니다.

테스트는 안해 봣습니다. 아래처럼 바꿔보세요.
$tmp_str = substr(rand(0,999999999999999),0,10);
감사합니다. 홈페이지 관리하는 곳에서 이런 것을 원해서요^^
$tmp_str = substr(rand(0,999999999999999),0,10);
==>
$tmp_str = rand(1000000000,9999999999);

^^
$tmp_str = substr(rand(0,999999999999999),0,10);

이렇게 하시면 됩니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
17년 전 조회 1,068
17년 전 조회 995
17년 전 조회 1,540
17년 전 조회 1,094
17년 전 조회 1,341
17년 전 조회 1,616
17년 전 조회 1,542
17년 전 조회 867
17년 전 조회 1,556
17년 전 조회 1,443
17년 전 조회 1,051
17년 전 조회 1,542
17년 전 조회 1,531
17년 전 조회 1,028
17년 전 조회 994
17년 전 조회 1,547
17년 전 조회 1,450
17년 전 조회 1,558
17년 전 조회 1,628
17년 전 조회 1,744