用PHP创建安全的Web服务

时间:2013-01-30 14:42:40

标签: php

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

我在网上有一个数据库,它与PHP编写的相当不错。我现在需要创建一个asp.net页面查询我的php数据库并以格式返回结果的能力在另一端操作相当容易,json会很好。

我遇到的问题是php数据库的安全性。如果我有文件中嵌入的凭据(如下所示),我运行db是不安全的查询。所以做一些研究,看起来我需要研究webservices,因为我可以使用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兼容并且有一个端口,但它是最好的库,可以尝试使用或者我应该尝试使用内置的肥皂库,其中没有很多教程?

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

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

一如既往地谢谢

1 个答案:

答案 0 :(得分:0)

  1. 决定您要支持的协议。 SOAP,REST或其他。
  2. 了解您的api将使用的授权方案。我个人更喜欢HMAC。如果在请求中截获了数据包,则更难以伪造请求。
  3. SOAP主要是XML。您可以在SOAP响应中发送json消息,但它可能不会非常有效。休息时,您可以发回任何您想要的格式和/或使用上下文切换以您首选的格式发送响应。