在 PHP 中创建安全的 Web 服务


Create a secure webservice in PHP

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

我在网上有一个数据库,它与编写的 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 设置网络服务时找到一些 turorials,其中大多数都指向 nusoap - 我试图遵循一个失败的基本教程。据报道,这个库与 5.3 不兼容,并且有一个端口,但这是最好的库尝试和使用,还是我应该尝试使用内置的 soap 库,没有太多关于它的教程?

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

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

一如既往的感谢

  1. 确定要支持的协议。肥皂,休息或其他东西。
  2. 确定您的 API 将使用哪种授权方案。就个人而言,我更喜欢HMAC。因此,如果在请求中截获数据包,则伪造请求要困难得多。

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