2013-08-05 170 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

相关问题