【问题标题】:Create a secure webservice in PHP在 PHP 中创建安全的 Web 服务
【发布时间】:2013-01-30 14:42:39
【问题描述】:

我需要一些帮助来理解概念,因为我不确定如何实现这一点。

我在网上建立了一个数据库,它与编写的 php 配合得很好。我现在需要为 asp.net 页面创建查询我的 php 数据库并以某种格式返回结果的功能在另一端相当容易操作,json会很好。

我遇到的问题是 php 数据库的安全性。如果我在文件中嵌入了凭据(如下所示),我运行的数据库对查询不安全。所以做一些研究,看起来我需要研究 web 服务,因为我可以使用 SOAP 标头安全地从 ASPX 页面传递用户名和密码。有人可以确认这是真的吗?

$databaseName = 'MySample';
$userName = 'MyUserName';
$passWord = 'MyPassword';

$db = & new Database();
$db->setProperty('database', $databaseName);
$db->setProperty('username', $userName);
$db->setProperty('password', $passWord);

//this is the find
$findCMD = $db->newFindCommand('Web');
$findCMD->AddFindCriterion('Field1',$_POST['Param1']);
$findCMD->AddFindCriterion('Field2',$_POST['Param2']);

//finally execute and return $Results back to the ASPX app
$Results = $findCMD->execute();

SOAP 可以以 JSON 形式返回结果,还是专门以 XML 形式返回结果?我也一直在尝试在为 PHP 5.3 设置 Web 服务时找到一些教程,其中大多数指向 nusoap - 我尝试遵循失败的基本教程。据报道,该库与 5.3 不兼容,并且有一个端口,但这是最好的尝试和使用的库,还是我应该尝试使用内置的 soap 库,关于它的教程不多?

我的主要目标是提供从 ASPX 页面对我的 PHP 数据库的安全访问,PS 一切都在 HTTPS 中完成。

任何建议都会很棒,同时继续搜索以筛选 RESTful 服务,看看它们是否是我应该使用的。

一如既往的感谢

【问题讨论】:

  • = & 我觉得没有必要了。

标签: php


【解决方案1】:
  1. 确定要支持的协议。 SOAP、REST 或其他。
  2. 确定您的 api 将使用哪种授权方案。我个人更喜欢HMAC。如果数据包在请求中被截获,那么伪造请求就会变得更加困难。

SOAP 主要是 XML。您可以在 SOAP 响应中发送 json 消息,但它可能不会非常有效。休息时,您可以发回您想要的任何格式和/或使用上下文切换以您喜欢的格式发送响应。

【讨论】:

  • 我一直在研究我正在使用的 db 和 REST,但它看起来并没有得到很好的支持。所以不幸的是,我将不得不使用 SOAP...
猜你喜欢
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
  • 2013-03-20
  • 2013-12-05
  • 2012-11-04
  • 1970-01-01
  • 2012-01-26
  • 2011-08-14
相关资源
最近更新 更多