PHP - 如何限制仅来自Chrome扩展的请求?

问题描述:

我在Chrome上写了一个扩展,它向我的PHP页面发出请求。我不知道如何让页面只处理来自Chrome扩展程序的请求,以确保我的资源没有被意外客户滥用,例如机器人PHP - 如何限制仅来自Chrome扩展的请求?

当您的扩展程序发出请求时,包含一个唯一字段您可以在服务器上检索以验证请求是否合法(如API密钥)。

使请求http://yoursite.com/yourscript.php?apikey=123456789

核查请求在你的脚本

<?php 

$api_key = "123456789"; 

if ((!isset($_GET[apikey])) or (strcmp($api_key, $_GET['apikey']) !== 0)) { header('HTTP/1.0 403 Forbidden'); die(); } // Invalid request 
else { 
    // Valid request 
} 

?> 

编辑:值得一提的是,采用这种方法,是完全有可能有人嗅出你的脚本的位置和你的API代码并手动调用它,但出于机器人和随机观察者的目的,这种方法没问题。

+2

实际上用403回答会更有礼貌。 – Xan

+0

@Xan我忽略了,编辑!干杯。 – pablo

+0

嗨@pablo,我也想过这个,但是,正如你所说的那样,这是不完全的安全性,我希望得到更安全的建议。我在这里提到的机器人是有人刻意滥用我的服务写的,他肯定能克服api键。谢谢 – Ben