小编Nit*_*ita的帖子

安全使用Google Maps API密钥的最佳做法

Google建议不要公开API编号。即使他们在大多数工作示例中要求在代码中包含您的API密钥,也足够公平

<script async defer
        src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
Run Code Online (Sandbox Code Playgroud)

然后你得到这个建议,在看到:https://support.google.com/googleapi/answer/6310037 - 不要直接在代码中嵌入API密钥!

因此,我的问题是如何安全地嵌入Google Map API密钥,同时使其对其他用户不可见?我使用PHP,JS和MySQL

javascript php api maps

5
推荐指数
0
解决办法
178
查看次数

Google URL Shortener - 未指定HTTP Referer

我有URL缩短脚本运行良好,直到我在API控制台中添加了网站引用到KEY限制(我必须这样做).现在我不会回复短网址.我收到以下错误:

数组([error] =>数组([错误] =>数组([0] =>数组([domain] => usageLimits [reason] => ipRefererBlocked [message] =>请求未指定任何引用.请确保客户端发送referer或使用API​​控制台删除引用限制.[extendedHelp] => https://console.developers.google.com/apis/credentials?project=XXXXXXXXX))[code ] => 403 [ message] =>请求没有指定任何引用.请确保客户端发送referer或使用API​​控制台删除引用限制.))

我的PHP:

<?php

$longurl = "http://example.com";

$api_key_google = "XXXX_API_KEY_XXXXX";
$curl = curl_init('https://www.googleapis.com/urlshortener/v1/url?key='.$api_key_google);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(array('longUrl' => $longurl)));
$return = json_decode(curl_exec($curl), true);
curl_close($curl);

print_r($return);       
echo $shortDWName = $return['id'];

?>
Run Code Online (Sandbox Code Playgroud)

我在这里失踪了什么?感谢您的帮助.

php google-api url-shortener

2
推荐指数
1
解决办法
1936
查看次数

条纹-付款意向(3d安全问题)

我确实在我的网站上实现了付款意图,并且现在可以与此测试卡完美配合4242 4242 4242 4242,但是对于其他需要3d安全方法的卡,我会遇到此错误"Invalid PaymentIntent status"

我使用的代码与Stripe文档中存在的标准代码相同- 流程中充斥着一些代码来管理mysql,电子邮件,元数据等。

我哪里出错了?提前致谢。

连接到index.php的简化js代码

var stripe = Stripe('pk_test_xxx');
var elements = stripe.elements();
var cardElement = elements.create('card', {style: style});

cardElement.mount('#card-element');

var cardholderName = document.getElementById('cardholder-name');
var cardButton = document.getElementById('card-button');
var amount = $('#amount').val();

cardButton.addEventListener('click', function(ev) {
    ev.preventDefault();
    stripe.createPaymentMethod('card', cardElement, {
        billing_details: {name: cardholderName.value}
    }).then(function(result) {

    if (result.error) {


    } else {
      $body.addClass("loading");
      fetch('https://test.com/server.php', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ 
            payment_method_id: result.paymentMethod.id, 
            amount: amount
            })
      }).then(function(result) { …
Run Code Online (Sandbox Code Playgroud)

javascript php stripe-payments

1
推荐指数
1
解决办法
942
查看次数