0

我正在为此制作移动应用程序和 Web 部件。我在移动应用程序中使用了 php5 来制作所有返回 json 数据的 api。现在我想使用托管在另一台服务器上的相同 api 文件,使用 jquery,以便我可以将参数传递给 jquery 数据中的 api 文件,然后获取 json 数据作为响应。但我无法理解使用 jquery 在客户端使用所有内容是否安全?就像使用 jquery 创建会话并将一个 api 返回的 json 数据发送到另一个页面一样。我在互联网上搜索了一段时间,我得到了一些解决方案,我应该在 php 中使用 curl,然后从 php 返回数据,该数据将调用移动应用程序 php,然后以这种方式将数据返回给 jquery:

jquery -> web php 文件 -> mobile-php-api(将 json 数据返回到 web php 文件) -> jquery

任何人都可以提出宝贵的建议吗?我应该用什么来解析已经制作的 api 文件并在 web 上进行完全身份验证。

4

2 回答 2

3

如果您的 API 不在应用程序的同一域中,则使用 AJAX 不是一个非常有效的解决方案,因为跨域请求。默认情况下,某些代理和浏览器会阻止这些请求。我认为你应该使用 cURL,就像你说的那样。或者使用 SOAP 创建一个真正的 WebService,但如果您需要快速应用程序,这可能会很困难。

为了保护托管在您的第一个域上的 PHP 和您的 API 之间的通信,您可以发送使用某些质询机制生成的唯一令牌。并在你的 PHP 脚本中隐藏这个挑战(这样你的客户就看不到它)

于 2013-06-20T07:39:45.083 回答
0

我不完全明白你具体问的是哪一点,但这里有......

您似乎在描述的是在 PHP中创建一个REST API,并在 javascript/HTML 中创建一个前端。

对于简单的应用程序jQuery$.ajax()可能会做,但对于较大的前端应用程序,您可能需要考虑 MVC 风格的客户端框架,如BackboneJS

最后,如果另一个页面是指另一个域,那么您的问题将围绕通过与前端相同的域托管(或可能代理)您的 api 或使用CORS(跨域资源共享)跨域工作。Internet Explorer 中的 CORS 支持很差,而且 CORS 身份验证充其量也很棘手。如果您决定坚持使用 CORS,您可能需要考虑OAuth2 。

于 2013-06-20T07:51:46.060 回答