2013-02-13 2 views
2

저는 리눅스 cronjob을 통해 PHP 스크립트를 실행 중이며, 지정한 IP 주소의 컴퓨터에서 cronjob을 통해 원격으로 실행할 수 있는지 확인하고자합니다. 이제 원격 IP 주소를 $_SERVER['REMOTE_ADDR']에서 확인할 수 있습니다. 그렇게하면 cronjob을 통해 실행이 중지됩니다. 두 가지 작업을 수행하는 방법은 무엇입니까?PHP 스크립트가 로컬에서만 실행되도록 확인하십시오.

+0

브라우저에서 PHP 파일을 열고 원격 주소가 IP와 같은지 확인 하시겠습니까? –

답변

3

당신은 너무 당신은 IP를 확인하는 것 외에도 로컬 (크론) 실행 확인 php_sapi_name 기능을 사용할 수 있습니다

if (php_sapi_name() == 'cli' || $_SERVER['REMOTE_ADDR'] == 'your.ip.add.ress') { 
    // allow 
} 
+0

고마워요,이게 내가 찾고있는 것입니다. – user1107888

3

웹 루트에서 cronjob을 꺼내십시오.

는 그런 다음 크론은 CLI를 통해 실행되는 wheather를 확인할 수 있습니다 :

if (php_sapi_name() != 'cli') { 
    die(); 
} 

그것의 좋은 아이디어를 웹 서버에 당신의 크론을 TUN 할 수 있습니다. 그런 다음 모든 사람들이 시작할 수 있습니다.

1

크론 케이스를 처리 할 수는 명령 줄에서 실행되어 있는지 확인해야합니다 주소, 이런 식으로 뭔가 : 말했다

if (php_sapi_name() == 'cli' || $_SERVER['REMOTE_ADDR'] == 'xxx.yyy.zzz.vvv') { 
    //do your stuff 
} 
else { 
    /show some error 
} 

, 당신은 따라서 서버가 인터넷에 공개 적어도 경우에 의존 좋지 않아, 원격 주소를 쉽게 위조 될 수 있다는 것을 기억해야합니다. 로컬 네트워크에서 실행중인 경우 조금 더 안전합니다.

관련 문제