首页
学习
活动
专区
圈层
工具
发布

PHP程序员应该知道的15个库

1.Mink Mink是一个PHP 5.3的库,它可用于在测试中模拟Web应用程序与浏览器之间的交互。这个库能够帮助开发人员利用单一的API对多种不同的浏览器模拟器进行同时操作。...PHP程序员应该知道的15个库(上) 4.Requests for PHP Requests是一个被写入PHP中的HTTP库,它允许发送不同的HTTP请求,如Head、Get、Post...该库在客户端和服务器端提供了 LESS、SCSS和CoffeeScript的编译以及缓存资源请求。...9.PHP-CPP PHP-CPP基本上属于一个由多种具备详尽说明文档、能够被用于创建PHP原生扩展的类集合构成的C++库,该库允许您使用一个简单的方法参数和返回值来工作。...Unirest for PHP提供大量实用性方法来实现方法调用,包括Get、Post、Put、Delete、Connect、Head、Patch以及Trace。

1.5K90

Github上的PHP资源汇总大全

PHP扩展包 依赖管理的附加部分 ——其它依赖管理的相关工具 Satis : 静态的Composer库生成器 Composition: 一个运行时检查Composer环境的库 Version : 一个在语义上分析和比较的库...NameSpacer : 将下划线转为命名空间的库 Patch Installer: 使用Composer安装补丁的库 Composer Checker: 一个验证Composer配置的工具 框架...另一个简单的微型框架 Bullet PHP: 用于构建REST APIs的微型框架 Fast Route: 快速路由选择库 Pux: 另一个快速路由选择库 微型框架的附加部分 ——其它相关的微型框架和路由...Silex Skeleton: 用于Silex的项目框架 Silex Web Profiler: 用于Silex的Web调试工具条 Stack: 用于Silex/Symphony的可堆叠中间件库 Slim.../ziadoz/awesome-php 译文:http://www.php100.com/html/dujia/2015/0105/8267.html (翻译:PHP100_Zeroing)

2.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端要知道的RESTful API架构风格

    自己在写Node服务时你遇到如何定义好接口的问题吗?下面介绍一种API架构风格,也是目前主流的API设计风格,你或许一直在使用。 ? RESTful API 示例 REST是什么?...自描述的消息。每个请求或响应必须提供足够的信息让接受者理解,这些消息是指比如媒体类型、HTTP方法、是否缓存 超媒体作为应用状态引擎。...RESTful API 设计最佳实践 请求设计规范 URI 使用名词,尽量用复数,如/users URI 使用嵌套标识关联关系,如 /users/12/repos/5 使用正确的HTTP方法,如GET/...uploadfile.php - 上传创建文件 api/deletefile.php - 删除文件 RESTfu,api/file 只需要这一个接口: GET 方式请求 api/file - 获取文件信息...在URL中加入版本号,例如”vl/animals” URL中的路径(endpoint)不能有动词,只能用名词。 用HTTP方法对资源进行增删改查的操作。 用HTTP状态码传达执行结果和失败原因。

    1.2K30

    史上最全跨域总结

    同源策略限制了一下行为: Cookie、LocalStorage 和 IndexDB 无法读取 DOM 和 JS 对象无法获取 Ajax请求发送不出去 常见的跨域场景 所谓的同源是指,域名、协议、端口均为相同...的子窗口是不能通信的,因为同源策略,所以改变子窗口的路径就可以了,将数据当做改变后的路径的hash值加载路径上,然后就可以通信了。...只要满足下面条件就是简单请求 请求方式为HEAD、POST 或者 GET http头信息不超出一下字段:Accept、Accept-Language 、 Content-Language、 Last-Event-ID...非简单请求 非简单请求是那种对服务器有特殊要求的请求,比如请求方法是PUT或DELETE,或者Content-Type字段的类型是application/json。...原生WebSocket API使用起来不太方便,我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下兼容。

    2.2K40

    Laravel API教程:如何构建和测试RESTful API

    在本文中,我们将探讨如何构建和测试使用Laravel进行身份验证的强大API。我们将使用Laravel 5.4,所有的代码都可以在GitHub上参考。...HTTP动词表示动作(HTTP Verbs Represent Actions) 在RESTful API中,我们使用HTTP动词作为动作( actions),并且端点是所执行的资源。...注销 使用我们当前的策略,如果令牌错误或丢失,用户应该收到未经身份验证的响应(我们将在下一节中实现)。因此,对于一个简单的注销端点,我们将发送令牌,它将在数据库上删除。...要开始使用,我们需要调整一些设置来使用内存中的SQLite数据库。使用它将使我们的测试快速运行,但是权衡是一些迁移(migration )命令(例如约束)在该特定设置中将无法正常工作。...(401); } } 重要的是要注意提示,在测试期间,Laravel应用程序不会在新的请求上再次实例化。

    24.3K20

    什么是REST API

    不同的HTTP方法可以在任何端点上使用,这些方法映射到应用程序的创建、读取、更新和删除(CRUD)操作: HTTP方法CRUD行为GET读取返回请求数据POST创建创建一个新记录PUT 或者 PATCH...第三方应用程序通过发布一个密钥来获得使用API的许可,这个密钥可能有特定的权限或被限制在一个特定的域。密钥在每个请求中的HTTP头或查询字符串中被传递。 OAuth[18]。...即使它不是一个引人注目的黑客目标,一个行为不良的客户端也可能每秒发送数以千计的请求,并使你的服务器崩溃。 安全性超出了本文的范围,但常见的最佳实践包括: 使用HTTPS。 使用健壮的身份验证方法。...使用CORS来限制客户端对特定域的调用。 提供最少的功能,也就是不要创建不需要的DELETE选项。 验证所有端点URL和body对象。 避免在客户端JavaScript中暴露API令牌。...阻止来自未知域名或IP地址的访问。 阻止意外的大型有效负载。 考虑速率限制,也就是使用同一API令牌或IP地址的请求被限制在每分钟N个以内。 以适当的HTTP状态代码和缓存头进行响应。

    6K20

    awesome-php-cn软件资源

    Guzzle:一个全面的HTTP客户端 官网 Buzz:另一个HTTP客户端 官网 Requests:一个简单的HTTP库 官网 HTTPFul:一个链式HTTP库 官网 Goutte:一个简单的web...爬取器 官网 PHP VCR:录制和重放HTTP请求的库 官网 URL 解析URL的库 Purl:一个URL处理库 官网 PHP Domain Parser:一个本地前缀解析库 官网 Email 发送和解析邮件的库...官网 HTTP Mock:一个在单元测试模拟HTTP请求的库 官网 Stream:一个用于测试的虚拟文件系统流的包装器 VFS 官网 VFS:另一个用于测试虚拟文件系统 官网 Locust:一个用Python...:计算cron运行日期的库 官网 ShellWrap:一个简单的命令行包装库 官网 Hoa Console:另一个命令行库 官网 Shunt:一个在多台远程机器上并行运行命令行的库 官网 Cilex:一个构建命令行工具的微型框架...:一个将PHP方法暴露为RESTful web API的轻量级框架 官网 缓存 缓存数据的库 Alternative PHP Cache (APC):打开PHP伪代码缓存 官网 Cache:一个缓存库(

    4.4K50

    CSRF(跨站请求伪造攻击)解析

    子域名Cookie注入:如果攻击者能控制目标域的一个子域名(例如attacker.mybank.thm),并且服务器的Cookie没有正确设置Domain属性(或设置得过于宽泛),攻击者可能可以在子域名上为父域名...Lax:(多数现代浏览器默认值)允许在顶层导航(点击链接跳转)和安全的HTTP方法(GET,HEAD,OPTIONS)的跨站请求中发送Cookie。...其他相关技术:XMLHttpRequest漏洞利用:使用AJAX发起CSRF,需要注意目标API是否有CORS策略限制以及CSRF防护。...检查标准HTTP请求头(辅助手段):Origin头:浏览器在发送跨域请求(尤其是POST,PUT,DELETE,或带凭证的CORS请求)时会自动添加Origin头,指示请求发起的来源域。...使用框架内置防御:主流Web框架通常内置了CSRF防护功能,务必正确启用和配置。遵循HTTP方法:严格区分GET和POST/PUT/DELETE的用途。

    38010

    一文弄懂跨域的全部解决方法

    无法操作不同源网页的DOM。每个网页的DOM只能由其自己的脚本访问,不能被其他源的脚本操作。 无法向不同源地址发起AJAX请求。这限制了网页与不同源服务器之间的数据交互。...// 两个页面都设置以下代码即可 document.domain = 'test.com'; 3.2 跨文档通信API 在Web开发中,跨文档消息传递是一个常见的需求,尤其是在使用iframe或弹出窗口时...以下是如何使用postMessage方法的一个示例: 1.父窗口发送消息到子窗口: // 假设子窗口的URL是 http://test2.com var childWindow = window.open...window: ' + event.data); } }, false); 使用postMessage方法可以解决以下方面的问题: 跨域通信:允许不同源的窗口之间安全地交换信息,而不需要担心同源策略的限制...如下简单配置案例,这样 http://localhost:8080/api/getUser.php 的请求就是后端的接口 http://192.168.10.20:8088/getUser.php

    13K21

    什么是跨域跨域解决方法_500错误原因解决方法

    、LocalStorage 和 IndexedDB 【2】无法接触非同源网页的 DOM 【3】无法向非同源地址发送 AJAX 请求 四、跨域解决方法 【1】设置document.domain解决无法读取非同源网页的...localhost:8080/api/getUser.php` 的请求就是后端的接口 `http://192.168.25.20:8088/getUser.php` devServer: {...【7】Nginx反向代理 Nginx 实现原理类似于 Node 中间件代理,需要你搭建一个中转 nginx 服务器,用于转发请求。 使用 nginx 反向代理实现跨域,是最简单的跨域方式。...我们只需要配置nginx,在一个服务器上配置多个前缀来转发http/https请求到多个真实的服务器即可。这样,这个服务器上所有url都是相同的域 名、协议和端口。...因此,对于浏览器来说,这些url都是同源的,没有跨域限制。而实际上,这些url实际上由物理服务器提供服务。这些服务器内的 javascript可以跨域调用所有这些服务器上的url。

    2.4K20

    awesome-php

    Guzzle - 一个完整的HTTP客户端 Buzz - 另一个HTTP客户端 Requests - 一个简单的HTTP库 HTTPFul - 一个链式HTTP客户端 Goutte - 一个简单的Web...抓取器 PHP VCR - 一个录制和回放HTTP请求的库 php-curl-class - PHP的Curl类 Beanbun - 多进程网络爬虫框架 SOAP soap-client - A general...Pho - 另一个行为驱动开发的测试框架 Mink - Web验收测试 HTTP Mock - 一个在单元测试中模拟HTTP请求的库 VFS Stream - 一个用于测试的虚拟文件系统流包装 VFS...Restler - 一个将PHP方法展现为RESTful web API的轻量级框架 fractal - [最佳实践]数据返回的统一化处理 api-problem - A simple implementation.../qshell - qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具。

    9.9K90

    一个配置完善的 Nginx,胜过十台 WAF!

    第一步:请求过滤——拦截恶意参数与请求(堵60%漏洞) Web漏洞的根源大多是恶意请求参数(如SQL注入的union select、XSS的)或非法请求方法(如PUT/DELETE)。...通过Nginx的if指令、正则匹配和请求方法限制,直接在网关层拦截此类请求。...1.1 限制HTTP请求方法 仅允许业务必需的GET、POST、HEAD方法,拒绝PUT、DELETE、OPTIONS等高危方法(若业务不需要),防止通过非常规方法发起攻击。...; # 其他配置... } 2.2 请求频率限制(防暴力破解/DDoS) 使用Nginx的ngx_http_limit_req_module模块限制单IP的请求频率,防止暴力破解登录接口、批量请求等攻击...在server块或location块中添加: # 对登录接口限制频率 location /api/login { # 应用频率限制,burst=20表示允许20个突发请求(超出则排队),nodelay

    43010

    php基础(一)

    static 静态方法,是类的成员方法,但不需要实例化类可直接使用 $GLOBAL 在函数内使用具有全局作用域的变量,如$GLOBAL['a'] 2.子类重写父类的 protected 方法有什么限制?...你甚至可以关闭持久化功能,让数据只在服务器运行时存在。 参见:http://doc.redisfans.com/topi... 6.使用 PHP 下载网络图片,有哪些方法?...> Ajax发jsonp请求: $.ajax({ url: "http://api.flickr.com/services/rest/?...实际发的请求就是http://api.flickr.com/service... 1471419449018 dataType: 'jsonp',用于表示这是一个 JSONP 请求。...JSONP 的原理 AJAX 无法跨域是受到“同源政策”的限制,但是带有src属性的标签(例如、、)是不受该政策限制的,因此我们可以通过向页面中动态添加<script

    2.9K20

    RESTFUL API 安全设计指南

    客户端使用 HTTP 协议定义的方法来发送请求到这些 URIs,当然可能会导致这些被访问的”资源“状态的改变。...,身份认证的方式,身份认证的方式有很多种,第一种便是http basic,这种方式在客户端要求简单,在服务端实现也非常简单,只需简单配置apache等web服务器即可实现,所以对于简单的服务来说还是挺方便的...rest api接口一般会用到GET,POST,PUT,DELETE,未实现的方法则直接返回方法不允许,对于POST,PUT方法的数据采用json格式,并且在进入逻辑前验证是否json,不合法返回json...六、速率限制 请求速率限制,根据api_key或者用户来判断某段时间的请求次数,将该数据更新到内存数据库(redis,memcached),达到最大数即不接受该用户的请求,同时这样还可以利用到内存数据库...在php中可以使用APC,Alternative PHP Cache (APC) 是一个开放自由的PHP opcode 缓存。

    1.9K20

    面试官听完之后露出了满意的笑容

    如果浏览器不限制跨域,一定是这个浏览器出现了bug。 跨域 什么是跨域? 跨域,即浏览器试图执行其他网站的脚本。但是由于同源策略的限制,导致我们无法实现跨域。...为什么可以跨域使用CSS、JS和图片等? 同源策略限制的是数据访问,我们引用CSS、JS和图片的时候,其实并不知道其内容,我们只是在引用。 CORS跨域 什么是CORS?...它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 如何理解CORS?...简单请求 只要满足以下条件的就是简单请求: 请求方式为HEAD、POST 或者 GET http头信息不超出以下字段:Accept、Accept-Language 、 Content-Language、...复杂请求 所谓复杂请求,即不满足上述条件的请求就是复杂请求。 比如请求的方法是PUT或DELETE,或者Content-Type字段的类型是application/json。

    1.1K30
    领券