【php – 如何对公共API进行速率限制?】教程文章相关的互联网学习教程文章

PHP的运行方式(SAPI)【代码】

PHP 常量 PHP_SAPI 具有和 php_sapi_name() 相同的值。1define(‘IS_CGI‘,(0 === strpos(PHP_SAPI,‘cgi‘) || false !== strpos(PHP_SAPI,‘fcgi‘)) ? 1 : 0 ); 2define(‘IS_WIN‘,strstr(PHP_OS, ‘WIN‘) ? 1 : 0 ); 3define(‘IS_CLI‘,PHP_SAPI==‘cli‘? 1 : 0);这段代码是ThinkPHP项目里Thinkphp.php文件判断运行环境模式。SAPI:Server Application Programming Interface 服务器端应用编程端口。SAPI提供了一个和外...

[PHP] 浅谈 Laravel auth:api 不同驱动 token 和 passport 的区别

token 驱动使用 TokenGuard 用传递的值去用户表中查询 member_token 字段的值,看是否有匹配的。服务端需要在用户表中存储 access_token。 passport 驱动是 laravel/passport 组件包提供的,通过 Bearer Token Validator 对传递的值进行 JWT 验证,看是否解析出的值能匹配到数据库中的 auth_access_token_id。服务端不需要存储 access_token,相对安全。另外,laravel/passport 既支持自己的密码型应用也支持第三方 oauth2 型应用,...

Elasticsearch的PHP的API使用(一)【代码】【图】

前提:在服务器上安装Elasticsearch (host:192.168.1.10)         http://192.168.1.10:9200?_search?pretty 1:安装PHP的Elasticsearch的的扩展(使用composer方法)  1.1 下载composer.phar包(见composer安装软件 http://www.cnblogs.com/amuge/p/5998985.html) 1.2 composer.json { "require": { "elasticsearch/elasticsearch": "~2.0@beta"   }    }  1.3 php composer.ph...

php 创建简单的Restful WebAPI(三)【代码】

上篇记录了怎样实现route,本篇记录怎么实现request,response。  Request 处理请求<?phpclass Request {private$request_vars; private$data; private$http_accept; private$method; private$ID; publicfunction __construct($id = null) { $this->request_vars = array(); $this->data = array(); $this->http_accept = ‘application/json‘; $this->method = ‘get‘; $this->ID...

PHP内核:SAPI探秘【图】

首先来张PHP的架构图:什么SAPI?SAPI的中文译作:服务器端应用编程接口。它负责PHP与其他应用交互数据。这里的其他应用可能是shell或者apache等等。常见的SAPI有:CGI,Fast-cgi,CLI(for shell),isapi(for IIS),Embed(for c/c++)等等。举例:当在Shell下(window下的command line)输入:php index.php 此时,由CLI这个SAPI负责将用户的请求处理。要定义一个SAPI,需要定义一个结构体。CLI的SAPI结构如下:(/path/to/php-src/sapi...

PHP API接口签名验证【代码】

hash_hmac在php中hash_hmac函数就能将HMAC和一部分哈希加密算法相结合起来实现HMAC-SHA1 HMAC-SHA256 HMAC-MD5等等算法。函数介绍如下:string hash_hmac(string $algo, string $data, string $key, bool $raw_output = false)algo:要使用的哈希算法名称,可以是上述提到的md5,sha1等data:要进行哈希运算的消息,也就是需要加密的明文。key:使用HMAC生成信息摘要是所使用的密钥。raw_output:该参数为可选参数,默认为false,如...

PHP API接口【图】

2015.8.18 PHP生成JSON数据json_encode($value) 方法 (response.php和testapi.php)通信标准格式:code 状态码 message 提示信息 data返回数据json如何封装通信数据方法Response类<?phpclassResponse{/** *按json方式输出通信数据 *@param integer $code 状态码 *@param string $message 提示信息 *@param array $data 数据 *return string */publicstaticfunction json($code,$message=‘‘,$data=array()){if(!is...

MVC部门树的实现 http://www.ztree.me/v3/api.php

<ul id="treeDemo" class="ztree"> </ul>$(function () { $.fn.zTree.init($("#treeDemo"), setting);})//#region 树var setting = { async: { enable: true, url: GetUrl(‘/Dept/GetDeptTree‘), dataFilter: filter }, data: { simpleData: { enable: true } }, callback: { onClick: onClick }};function filter(tr...

thinkphpapi【代码】

<?phpheader("Content-Type:text/html;charset=UTF-8");date_default_timezone_set("PRC");$showapi_appid = ‘4711‘; //替换此值,在官网的"我的应用"中找到相关值$showapi_secret = ‘6c942094705c4a469d01114136e608e7‘; //替换此值,在官网的"我的应用"中找到相关值$paramArr = array(‘showapi_appid‘=> $showapi_appid,‘areaid‘=> "",‘area‘=> "淄博",‘needMoreDay‘=> "",‘needIndex‘=> "",‘needHourData‘=> ""...

CentOS7 Xapian 1.2 安装 PHP绑定

CentOs7 安装Xapian PHP版本 记录一下安装Xapian1.2的艰辛历程!!! 公司用的开发机上竟然有两个PHP版本5.3好5.4!!!因为都是<5.4.5,所以我这里只能选择安装Xapian1.2 。如果安装1.4的话还要升级GCC支持C++11,但是无奈升级了半天也没有升级成功,所以就直接先用1.2版本了。 1、下载:wget http://oligarchy.co.uk/xapian/1.4.4/xapian-core-1.4.4.tar.xz2、下载:wget http://oligarchy.co.uk/xapian/1.4.4/xapian-bindings-...

使用phpdoc/phpDocumentor来生成api文档【图】

phpDocumentor是一个非常强大的文档自动生成工具,利用它可以帮助我们编写规范的注释,生成易于理解,结构清晰的文档, 对我们的代码升级,维护,移交等都有非常大的帮助。 网上关于phpdoc的文档的介绍虽然不少,但是有点麻烦: 1、网上通常介绍的内容太多,不容易被新手看懂。个人觉得,教程应该本着简单易懂,在能解决问题的前提下,能有多简单就多简单。 更多的内容,应该以附录的形式,或者留下其他更详细的资料链接供读者去阅读...

WINDOWS 2000下使用ISAPI方式安装PHP

使用ISAPI方式安装PHP。 下载连接:http://cn2.php.net/get/php-4.4.0-Win32.zip/from/cn.php.net/mirrorISAPI方式是WIN系统IIS下最有效率的PHP执行方式。强烈建议。解压好PHP后,首先找到php.ini-dist把-dist 去掉,就成了文本方式显示。打开PHP.INI 做略微修改。使用查找方式找TMP 找到./TMP着个路劲后,把路劲改成C:/TMP然后在C盘新建TMP文件夹全做好以后,拷贝 PHP。INI和php4ts.dll,放到C盘WINNT/SYSTEM32文件夹下。OK...

京东联盟API简易PHP接口类【代码】

https://union.jd.com/helpcenter/13246-13247-46301官方默认只有java的sdk<?php /*** Created by PhpStorm.* User: Leestar* Mail: lixin9610@126.com*/namespace app\common;use think\facade\Log;/*** 京东联盟* Class JdUnion* @package app\common*/class JdUnion {const APP_KEY = ‘主体appkey‘;const SECRET_KEY = ‘主体secret‘;const URL = ‘https://router.jd.com/api‘;/*** 根据关键字返回商品列表* https://union...

如何使用PHP Embed SAPI实现Opcodes查看器【代码】

PHP提供了一个Embed SAPI,也就是说,PHP容许你在C/C++语言中调用PHP/ZE提供的函数。本文就通过基于Embed SAPI实现一个PHP的opcodes查看器。首先,下载PHP源码以供编译, 我现在使用的是PHP5.3 alpha2进入源码目录: ./configure --enable-embed --with-config-file-scan-dir=/etc/php.d --with-mysql --with-config-file-path=/etc/ ./make ./make install最后,记得要将生成的libphp5.so复制到运行时库的目录,我直接拷贝到了...

PHP免费API调用,使用(CURL)

<?phpclass GetApiModel{//获取第三方API //获取身份证信息 //返回json /*{ "errNum": 0, "retMsg": "success", "retData": { "sex": "M", //M-男,F-女,N-未知 "birthday": "1987-04-20", //出生日期 "address": "湖北省孝感市汉川市" //身份证归属地 市/县 }}*/ public function getIdNumberInfo($apikey,$idNumber){ $ch = curl_init(); $url = ‘http://apis.bai...