如果脚本由SAME服务器上的另一个脚本访问,我将如何允许脚本运行

时间:2010-08-25 00:51:39

标签: php

最近我创建了一个脚本来访问另一个脚本来运行它。第二个脚本运行的唯一方法是从同一服务器访问它。为了做到这一点,我做了一个简单的if ($_SERVER['REMOTE_ADDR'] == "XXX.XXX.XXX.XXX") {

(显然XXX.XXX.XXX.XXX已替换为我服务器的IP。)

但是,我希望脚本更具可移植性,所以我希望它以某种方式检测同一服务器的IP或其他东西。

连连呢?或者这甚至可能吗?

4 个答案:

答案 0 :(得分:2)

更好的方法是将第二个脚本存储在webroot之外。

答案 1 :(得分:1)

要回答你的问题$_SERVER['SERVER_ADDR']将返回当前脚本正在执行的服务器的IP地址,但是有更好的方法来执行此操作,例如使脚本无法从Web访问第一名。

http://php.net/manual/en/reserved.variables.server.php

答案 2 :(得分:1)

你可以随时做......

if($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'] ){
     // Do my stuff
} else {
     header("Location: http://elsewhere.com");
}

答案 3 :(得分:0)

此解决方案与Apache绑定,但您可以复制停止链接到映像的热连接器的想法,只需更改参数以适合您的命名脚本,或者将这些仅限本地访问的脚本放在单个文件夹中 - 可能更容易管理。

http://altlab.com/htaccess_tutorial.html