【问题标题】:Database Post to another Database数据库发布到另一个数据库
【发布时间】:2016-10-17 09:27:50
【问题描述】:

我目前是一个网站的前端开发人员,该网站允许用户注册然后购买商品。对于交易,我使用支付网关公司提供的 API,但是当通过 AJAX 传递数据时某些敏感数据暴露给用户看。我想知道是否有一种方法可以将我的参数传递给一个数据库(我将要创建它),然后让数据库进行 AJAX 发布,以便可以对用户隐藏敏感参数。此外,数据库将存储来自回调的响应。

【问题讨论】:

  • 一个数据库不能发布数据,它只是存储它
  • 有没有一种方法可以让我编写一个 php 代码来做到这一点?喜欢而不是在前端(AJAX)做它?
  • 如果你不想暴露支付网关 url,你可以使用 curl
  • @Rishi,它不仅仅是我想隐藏的网址,还有某些参数,比如商家 ID 或用户密钥,它们是我在 AJAX 期间发布的 javascript 中的静态值跨度>
  • 将 ajax 制作到您自己的后端,并让您的服务器访问远程 api。这样一来,所有内容都对您的客户正在使用的浏览器隐藏。如果标题非常复杂,我发现使用 cURL 更容易。如果它们很简单,那么带有 stream_context_create 的 file_get_contents 会更容易。如果所有参数都在 url 中传递,那就更容易了,因为您可以简单地从后端将它传递到 url 中,甚至根本不用担心任何特殊的 headers。

标签: php mysql ajax database


【解决方案1】:

除非您愿意,否则 ajax 不必发布到数据库,但即便如此,数据库也不会将数据发布到远程 api。这取决于您的后端 php。

使用 jquery 进行 ajax 调用你会使用类似的东西:

$.getJSON("your_backend.php", function(result){
   //whatever you want to do with the json returned from the remote site.
}

在 your_backend.php 中:

<?php
$user = "user name";
$key = "key"
$headers = array(
'http'=>(
    'method'=>'GET',
    'header'=>'Content: type=application/json \r\n'.
        'user:$user \r\n'.
        'key:$key'
    )
)
$context = stream_context_create($headers)

$url_returns = file_get_contents($api_url, false, $context);  

echo $url_returns
?>

我没有调试过这个,所以在你完成它之前它不会工作,但它应该让你知道如何继续。根据与远程 api 连接的复杂程度,您可能需要为 php 使用 cURL 库而不是 file_get_contents。

如果您想将信息保存在数据库中,您可以从后端 php 编写插入语句。

【讨论】:

  • 喜欢那些煎饼
  • 我最初的逻辑是;前端将购买信息传递给后端。后端(带有静态敏感参数;密钥、通行证等。对用户隐藏)然后是 Ajax 到 API。 API 向后端返回回调。将响应(“事务完成”)传递到前端。
  • Ajax 无论是在原始 javascript 还是 jquery 中完成,都发生在浏览器中。可以看到从浏览器到任何地方的任何通信。在 chrome 中,您可以查看网络并查看从任何地方发送和接收的所有标题和内容。我整天都用它来破解和刮擦。我很欣赏积极的标记。如果您向我展示如何使用虚拟数据 ajax 请求,我可以编写一个 php 脚本来执行完全相同的操作。
  • @AuntJamaima,所以在我的前端,我是否将 ajax 发布到后端的 php 脚本,以便脚本可以 ajax 到 api。这是否也意味着我必须将数据存储在数据库中,这样我的 php 才能将 ajax 发送到 api ?感谢您的帮助,非常感谢,我是新的这个后端的东西
  • 对不起,我没有早点回复。我去睡觉了。除非您出于其他目的,没有必要将信息保存在数据库中。 Ajax 是浏览器发起的请求。 cURL 和 file_get_contents 是服务器发起的请求。给我看一个示例 ajax,带有一个假的 api 密钥和链接,我可以编写你需要的确切请求,并向你展示每个部分的作用。
猜你喜欢
  • 1970-01-01
  • 2020-03-16
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 2017-04-06
相关资源
最近更新 更多