先前我们已经完成了我们的第一个接口,但是先不要着急着开始使用,因为上次我们的脚本还缺少一个非常重要的功能:验证

试想一下,如果你的脚本没有验证机制,而很不巧的是你的服务器性能又不是特别强大,那么一些闲的发慌的家伙便能通过你的接口,轻松打死你的服务器,甚至是获取到一些你不想要让他人看到的数据,而这是我们所不希望看到的所以现在,我们要为我们的接口加上一个简单的验证机制:

一般来说,签名是通过 namestamp + sault + q + secret 的字符串生成的md5,但这里为了方便测试,只是简单利用 secret 作为我们的签名

由于我们要同时接收来自客户端的签名等数据,所以我们通过下面的代码来获取输入:

$sign=$_GET["sign"];
$q=$_GET["q"];

接下来,我们只需要在我们的代码之前加一句:

if($sign != SIGN) { die("forbidden"); }

试一试,不能用对吧,因为在此之前,我们还没有定义SIGN代表的值,故要在最上面加上一行:

define('SIGN','这里填入你的secret');

这样,我们的功能就算是实现了,完整代码:

<?php
/*
用法说明:
请求http(s)://domain.com/api.php?p=需要计算的内容&sign=secret
返回值:[“md5”]
*/
define('SIGN','这里填入你的secret');
$sign=$_GET["sign"];
if($sign != SIGN) { die("forbidden"); }
$q=$_GET["q"];
$result = array(
      md5($q)
        );
echo json_encode($result);
?>

 

打赏 赞(0)
支付宝二维码图片

支付宝扫描二维码打赏

发表评论

电子邮件地址不会被公开。

Scroll Up