你知道怎么办?我想保护我的脚本只在一个地方运行。有可能吗?
答案 0 :(得分:1)
可能最简单的方法是检查硬件标识符,例如网卡的MAC地址,并使用诸如Ion Cube之类的东西加密PHP代码,以便有人不能简单地编辑PHP并更改正在检查MAC地址。
答案 1 :(得分:0)
if ($_SERVER['SERVER_ADDR'] == "127.0.0.1" && $_SERVER["HTTP_HOST"] == "mydomain.com") {
//execute script
}
答案 2 :(得分:0)
不清楚问题。
如果您的意思是要限制每个人都可以访问您的脚本。并且只能由特殊用户根据其IP访问。然后,您可以使用$_SERVER['REMOTE_ADDR']
来检查用户IP。但是,您需要注意,如果您的用户位于代理服务器后面,您需要检查X-Forwarded-For
HTTP标头然后检查$_SERVER['REMOTE_ADDR']
。更好的解决方案是通过设置iptable
设置在服务器上使用防火墙。
如果您的意思是您不希望任何人都可以访问您的脚本,那么请将代码放在DocumentRoot
外面并从CLI运行。
请提供更多详细信息以获得更好的答案。
答案 3 :(得分:0)
" noob"的选项:
if ($_SERVER['SERVER_ADDR'] == "127.0.0.1" && $_SERVER["HTTP_HOST"] == "mydomain.com") {
//execute script
}
不是很酷,因为你可以这样做:
<?php
$_SERVER['SERVER_ADDR'] = '127.0.0.1'; // or IP restricted
$_SERVER['HTTP_HOST'] == 'mydomain.com'; // Or TLD restricted
// AFTER, you do include():
require_once('script_of_programmer.php');
?>
在这种情况下,任何脚本都可以在任何服务器上执行......
唯一选项是使用IonCube或ZEND GUARD