sam*_*ikh 5 php webhooks stripe-payments
我将创建Stripe Web挂钩,并想知道如何确保安全性,只有Stripe可以访问我的URL?
我正在使用Laravel和Stripe库.
小智 5
实际上,您可以将对 Webhook 的访问限制为仅 Stripe IP。这就是为什么 Stripe 更新了 webhooks ip 列表。
我刚刚为一个使用 Laravel 和 Stripe 的项目做了这个。你可以这样做:
//Only accept connections from stripe ips.
//Save stripe info for 24 hours for performance.
$stripe_webhooks_ips = Cache::remember('stripe_webhooks_ips', 1440, function()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://stripe.com/files/ips/ips_webhooks.json');
$result = curl_exec($ch);
curl_close($ch);
$json_result = json_decode($result,true);
return $json_result['WEBHOOKS'];
});
if(in_array($_SERVER['REMOTE_ADDR'],$stripe_webhooks_ips)) {
//Your Code Here.
}
Run Code Online (Sandbox Code Playgroud)
关于remote_addr变量的安全性: 信任$_SERVER['REMOTE_ADDR']是否安全?
如果您使用代理或 Cloudfare 等 CDN 服务,请记住采取额外措施来获取原始 IP。
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |