2013-01-18 21 views
-2

假设我的服务器上有一个PHP文件。现在在我的HTML中,我有一段Javascript代码,它指向PHP文件的路径/ URL。是否有可能限制PHP代码仅适用于指定的网站?为特定网站制作php文件功能

+0

http://php.net/manual/en/reserved.variables.server.php'$ _ SERVER [ 'REMOTE_ADDR'];' – crush

+1

入住这里 - HTTP://计算器.com/questions/426825/inspect-the-referrer-in-php – Buggabill

+1

正如其他人指出的,一个大问题是标题欺骗。即使是IP地址也可能被欺骗,并且在伪造IP地址的情况下,攻击者可能无法从服务器接收到答复,但在某些情况下,他们甚至不需要。例如,就你而言,代码将在服务器上运行,而不管是否将回复发回给原始请求者。 – crush

回答

0

简答:是的。


我的假设是,你有许多不同的领域同PHP脚本,你想让它不同的行为为某些领域


首先,你需要确保你的PHP脚本有一种可靠的方法来检测它正在运行的域。这应该在你的配置中。我不相信HTTP_REFERER$_SERVER可能没有你需要的。

如果你有这个,应该很容易决定脚本应该做什么。

+0

你如何看待? JavaScript由客户端调用。您如何建议区分来自特定网站(由客户制作)与该客户自己做的同一个电话的呼叫? – Nanne

+0

没有区别。我假设JavaScript和PHP在同一个域上运行。如果PHP脚本是从不同的域名获得的......则会出现问题。您需要开始使用身份验证,比如API密钥,但这是一堆您可能不想打开的蠕虫。 – Halcyon

+0

我不关注。 JavaScript运行在客户端的计算机上,这就是问题所在。客户端始终是请求的来源,因此您无法区分出现在您的域名上的JavaScript,以及将某人放在另一个域名上的JavaScript。 – Nanne

0

尝试:

if ($_SERVER['SERVER_NAME'] == 'site1') { 
    // some code... 
} else if ($_SERVER['SERVER_NAME'] == 'site2') { 
    // some other code... 
} else { 
    // some other code... 
}