2013-08-05 354 views
0

你好,我有一個腳本,執行以下操作:?檢查服務器是否運行腳本?

if(isset($_GET['reloadImages'])) 
{ 
    echo "<img src='site.com/image.jpg' />"; 
    exit; 
} 

這發生在的index.php reloadImages

我現在有一個Ajax請求基於這些圖像來更新:

$('#ImageDiv').load('index.php?reloadImages'); 

,並且在加載圖像時工作正常,但我需要知道的是,如果您可以設置像

if(SCRIPT_RUNNER == SERVER) 

這樣它仍然會檢索圖像時,系統去index.php?reloadImages但不是當用戶通過瀏覽器在他們的網頁瀏覽器導航

這是可能的嗎?機器通過請求鏈接

+0

我假設你的意思是'回聲「」 ;'? – SheetJS

+1

PHP總是由服務器運行,在這兩種情況下,它都會在瀏覽器請求時這樣做。所以,不,不像你所描述的那樣。我可以設想一些讓它更難直接打開頁面的方法,但沒有那麼簡單,可能沒有什麼不能被愚弄。無論如何,用戶直接打開頁面有什麼不好? – ironcito

+0

*當系統進入index.php時reloadImages * - 什麼是系統*? –

回答

0

先找到IP地址:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) { 
    $ip = $_SERVER['HTTP_CLIENT_IP']; 
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
} else { 
    $ip = $_SERVER['REMOTE_ADDR']; 
} 

現在$ IP是請求的機器的IP地址。 而假設你的計算機的IP是123.456.789.1(類似的東西)

因此,讓我們把它分配給一個變量

$server_ip = "123.456.789.1"; 

現在

if($ip == $server_ip && isset($_GET['reloadImages'])){ 
    echo "<img src=\"site.com/image.jpg\" />"; 
    exit; 
} 
else{ 
    echo "Sorry! you cannot see"; 
} 
+0

啊聰明!我也可以這樣做嗎?如果($ _ SERVER ['SERVER_ADDR'] == $ _SERVER ['REMOTE_ADDR']) – MysteryDev

+0

是的,你可以做到這一點。 – EresDev

相關問題