保护php脚本 - 仅允许从列出的页面嵌入

时间:2014-10-14 18:48:20

标签: php embed protection

我想提供一个可嵌入其他网站的网络服务 - 现在我需要一个保护嵌入的解决方案 - 以便只允许服务器嵌入页面......

您认为嵌入页面的最佳方式是什么(这是一个PHP脚本)?

保护它的最佳方法是什么?

我尝试了一些像iframe嵌入和php $_SERVER['HTTP_REFERER']保护(这不是真正的保存;)

那么有没有人有更好的主意? Javascript,htaccess,......?

1 个答案:

答案 0 :(得分:1)

您可以检查$_SERVER["REMOTE_ADDR"],服务器是来电者,您可以过滤不需要的内容。

另一种方式是@Mike伤心,创建一个API,什么需要安全令牌。

如果要检查来电者的IP,请执行以下操作:

$allowedHosts = array('192.168.1.1', '192.168.1.2');
if (in_array($_SERVER["REMOTE_ADDR"], $allowedHosts)) {
    //Do what you want
} else {
    die('Your host is not allowed');
}

修改

OP问道:

  

与伪造$ _SERVER [" REMOTE_ADDR"]信息的容易程度有关?

不知道,据我所知,它并不那么容易。也许有办法抄袭IP。

如果您正在处理非常敏感的数据,我的建议是使用IP AND 验证安全令牌。

您需要创建一个接口,为传入的请求提供服务。如果我需要像你的工作那样做,这就是我的方式:

  • 检查传入的IP。 (我用代码写的)。我们在请求中使用API​​密钥/安全密钥。检查这些参数是否正确。

  • 从客户端,首先获取安全令牌。如果API密钥和scurity密钥正确,请为客户端提供安全令牌。令牌应该在短时间内到期,例如。 5-15分钟。

  • 仅使用API​​密钥,安全密钥,安全令牌提供下一个请求。

  • 使用https protocoll。

  • 完成所有操作
  • 如果来自同一IP的请求失败很多,请禁止该IP或阻止它一段时间。