欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

API构架安全之朔本求原

来源:本站整理 作者:佚名 时间:2017-09-26 TAG: 我要投稿

在本系列的前一部分中,我花了一点光阴,介绍了咱们将要创立的网安API所必要实行的根本概念和进程。我还介绍了咱们来创立API将要应用到的一些对象。假如你还没浏览本系列文章的第一部分,我一定会在你继承浏览本文前激烈保举你去浏览一下第一部分。在本系列的第二部分中,我将从Slim Framework开端,深刻发掘这些对象。
我从框架作为开端的缘故原由是因为它将成为咱们构建统统的根基。咱们的一切构建思绪和功效将包括在全部框架的布局内。如今PHP生态体系中有许多框架可供抉择。我抉择应用Slim框架,是因为在我眼里,它供给了最低限制的入门前提,并不必要太多的说明阐明就可以或许疾速上手,而且假如你必要一些功效的话,统统都可以或许放在一个文件中结束实现。
因为这是一个由多个部分构成的系列博文,我想确保在供给的代码方面能有更多的清晰度。以是,我创立了一个存储库可用于跟踪本系列文章每一部散发生的变动。存储库里包括了本系列每一个部分的分支,每一个部分都是基于了上一部分的功效。他们将表现本系列中每一个教程的终极成果,以便你可以或许追随每一个教程,看看它是若何构建的,或许只是应用存储库来检查终极的成果。
别的我还会提到咱们将要编写的代码 - 我将会应用几个PHP包,是以咱们不会从新创立曾经编写过和测试过的大批代码。以是,你必要认识Composer依附干系管理对象。咱们将大批应用这些对象来提取软件包,并使得这些软件包易于应用到咱们的应用法式中。
对于Web办事器?
固然你可以或许设置你所抉择的Web办事器来处置进入Slim应用法式的哀求,但我将在此坚持一种简略的作风。PHP领有自己的内置Web办事器,异常得当如许的示例。它容许你界说并将index.php作为应用法式的“前端节制器”,同时在你抉择的端口上供给办事。
有一件事必要留意 - 当我应用内置的PHP办事器作为我的示例中的Web办事时,它不应当被用来代替更强大的收集办事器,如Apache或Nginx。它异常得当测试和当地开辟环境,但在机能品质部分肯定会盼望你抉择更靠得住机能更好的Web办事器。假如你在临盆环境中应用了内置的PHP Web办事器,那末可以或许会给你带来费事。
让咱们应用内置的办事器来获得一个简略的剧本并结束运转,以便你可以或许看到这个剧本的工作道理。你可以或许在体系的任何地位创立咱们的测试文件,只需目次中有index.php这个文件就行。假如你要结束着手测验考试,平日我倡议你创立一个暂时目次。在本教程中,我将在基于Unix的体系上运行敕令,但在Windows上这个进程也是类似的。
创立文件只是一些比拟简略的敕令:
mkdir www-tmp
echo '' test.php
而后,咱们有一个PHP文件,test.php,此中包括了对phpinfo函数的挪用,而且会表现咱们的PHP实例的一切设置装备摆设选项。
如今让咱们启动内置的PHP办事器:
> php -S test.php
php -S localhost:8000 test.php
PHP 7.0.12 Development Server started at Wed Apr 19 16:40:00 2017
Listening on http://localhost:8000
Document root is /path/to/script
Press Ctrl-C to quit.
而后拜访http://localhost:8000,你可以或许在浏览器中检查并可以或许看到失常的phpinfo输入。
必要留意的一点是,假如你的目次中有index.php文件,而且没有指定第二个参数,那末框架将应用index.php作为默许的运行剧本。
简略吧?如今咱们晓得若何应用内置的办事器了,咱们可以或许继承装置Slim Framework而后用于构建咱们的API。
装置Slim框架
因为本系列文章的这一部分都是对于设置应用法式的初始部分,以是咱们从根基开端:Slim框架。感激Composer,要将它应用到咱们的应用法式,可以或许应用根本的require敕令:
> composer require slim/slim
 
Using version ^3.8 for slim/slim
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
[...]
Writing lock file
Generating autoload files
假如你还不认识Composer软件包管理器,请参阅“ 入门指南”懂得更多信息。
运行上面的敕令将装置根本的Slim框架及其相干组件,如nikic/fast-route哀求路由组件和pimple/pimple依附注入库。Slim框架大批应用了Pimple容器来处置应用法式中的依附干系。大多数哀乞降相应处置围绕着这个容器。
假如Composer的装置进程统统顺遂的话,它应当会天生主动加载的文件,并创立一个composer.lock文件,此中包括了有对于你装置的Slim版本的具体信息。假如有差错,你必要在继承操纵以前对其结束调试 - 你必需先装置Slim及其依附项,而后再测验考试开辟如下代码。
创立咱们的第一个路由
跟着Slim的组件的全体装置实现,但因为Composer为咱们设置了主动加载(PSR-0或PSR-4),咱们可以或许间接在咱们的剧本中应用它。Slim创立路由的进程异常简略,在咱们的一个文件中界说路由 - 不必要创立任何目次或额定的文件。但是,这既具备有长处又有缺点。可以或许将器械全体保留在一个处所是很便利的做法,然则当全部名目开端变得繁杂时,单个文件就使得保护加倍艰苦。
不外,咱们先从一些简略的代码开端,以是让咱们创立第一个路由。起首创立一个index.php文件并将下面的代码放在此中:
require_once 'vendor/autoload.php';
 
$app = new \Slim\App();
$app->get('/', function() {
    echo 'It works!';
});
$app->run();
如今,假如咱们启动PHP内置的办事器,并在浏览器中加载它,你应当可以或许看到在根目次的页面会打印出“It works!”。在上面的代码中,咱们曾经在根门路/上界说了一个GET哀求的路由。当咱们开端增加其余路由范例时,工作会变得加倍繁杂,然则Slim手册中有许多信息,以是我不会在这里从新结束收拾阐明。
如今,咱们曾经创立了一个根本的应用法式,咱们可以或许继承转变一些对于它若何工作以满意咱们的API需要。
应用设置装备摆设
Slim框架的一个重要功效是应用依附注入容器界说设置装备摆设值和你在应用法式中应用的其余资本。这还包括一些特别的设置,Slim在外部重写了默许的差错处置法式。它也可以或许作为咱们的节制器的存储库,使其更易间接在咱们的路由中应用它们。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载