2013-04-26 1 views
1
나는 그런 난수를 생성하기 위해 내 PHP 스크립트에 random.org을 사용하고

:PHP 검사 내용을 사용할 수있는 경우

function getToken($length){ 
     $r = explode(' 
',file_get_contents('http://www.random.org/integers/?num='.$length.'&min=0&max=9&col=1&base=10&format=plain')); 
     $string = ''; 
     foreach ($r as $char) $string.=$char; 
     return $string; 
    } 

하지만 내 대학 그물 거부 이러한 쿼리를, 그래서 난 내 프로젝트를 테스트 whenewer 대학 무선 랜을 사용하여 , 난 생성되지 않는 임의의 숫자를 얻을, 그리고 그 말썽을 의미합니다.

if(site is accessible) return getToken(); 
    else return false; 

무엇 accesability을 확인하는 가장 좋은 방법이 될 것입니다 : 내가 그 좋아 random.org를 조회하거나 할 수없는 경우

그래서,이 기능을 사용하기 전에, 그것은 chect 할 필요가?

file_get_contents(); 

을하지만 실패 whenewer 그것은 경고를 보내고,

dns_get_record(); 

하지만 그것은 단지 DNS 이름을 확인하면 내가 그 믿을 수 있는지 잘 모릅니다 :

나 자신

은 내가 시도했다. 도와주세요!

P. 핑 기술은 같은 결과

+0

왜 당신이 당신의 스크립트 자신의 난수를 생성하지 않습니다 : PHP 자신의 의사 난수 생성기의 기능은 "강력한 암호"의사 난수를 생성 할 수 있다고 openssl_random_pseudo_bytes 포함되어 있습니까? 나는'random.org'를 왜 사용하는지에 대한 구체적인 이유가 무엇입니까? – jsalonen

+0

은 실제 임의의 숫자 인 – Benedictus

+0

을 생성하므로'mt_rand()'도 마찬가지입니다 : http://php.net/mt_rand –

답변

1

당신은 단지 오류를이 표시되지 않도록 @file_get_contents를 실행할 수 있습니다 ... 유용한을 proove 그것은 당신에게 임의의 숫자를 제공하지 않는 경우 단순히 반환 할 수 있습니다 :

function getToken($length){ 
    $number = @file_get_contents('http://www.random.org/integers/?num='.$length.'&min=0&max=9&col=1&base=10&format=plain'); 
    if($number === false) return null; 
    $r = explode('',$number); 
    $string = ''; 
    foreach ($r as $char) $string.=$char; 
    return $string; 
} 

그 말하자면, 나는 정말로 random.org를 사용하여 난수를 생성해야하는지 정말로 의심합니다.

http://www.php.net/manual/en/function.openssl-random-pseudo-bytes.php

+0

나는 open_ssl을 시도했지만 극적으로 호스트에서 금지되어있다. – Benedictus

+0

나는 그 것을 알지 못했다. 유용한 게시물이다. 당신이 문제를 해결하는 방법을 가르쳐 줄뿐만 아니라 나에게 가치있는 것을 가르쳐주었습니다. 감사! – Benedictus

+0

그래, 내가 말했듯이, 내가 사용하는 오픈 SSL을, 대신에 난 생성 된 임의의 항목을 수집하고 유일한 숫자 조합을 생성합니다. – Benedictus

관련 문제